---
Fuzzer filename: '/src/ms-tpm-20-ref/TPMCmd/fuzzer/tpm_cmd.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    reverse2
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/fuzzer/tpm_cmd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - _in
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reverse4
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/fuzzer/tpm_cmd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - _in
      BBCount:         1
      ICount:          32
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fixup_cc
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/fuzzer/tpm_cmd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - cmd
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - reverse4
      functionUses:    2
      BranchProfiles:
        - Branch String:   'fuzzer/tpm_cmd.c:343,32'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:343,35'
              BranchSideFuncs:
                - reverse4
            - BranchSide:      'fuzzer/tpm_cmd.c:345,28'
              BranchSideFuncs:
                - reverse4
        - Branch String:   'fuzzer/tpm_cmd.c:343,10'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:343,10'
              BranchSideFuncs:
                - reverse4
            - BranchSide:      'fuzzer/tpm_cmd.c:345,28'
              BranchSideFuncs:
                - reverse4
      Callsites:
        - Src:             'fuzzer/tpm_cmd.c:342,19'
          Dst:             reverse4
        - Src:             'fuzzer/tpm_cmd.c:347,29'
          Dst:             reverse4
    - functionName:    fixup_size
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/fuzzer/tpm_cmd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - cmd
        - size
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - reverse4
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzzer/tpm_cmd.c:337,17'
          Dst:             reverse4
    - functionName:    fixup_tag
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/fuzzer/tpm_cmd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 333
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - cmd
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - reverse2
      functionUses:    2
      BranchProfiles:
        - Branch String:   'fuzzer/tpm_cmd.c:329,10'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:330,20'
              BranchSideFuncs:
                - reverse2
            - BranchSide:      'fuzzer/tpm_cmd.c:332,20'
              BranchSideFuncs:
                - reverse2
      Callsites:
        - Src:             'fuzzer/tpm_cmd.c:329,10'
          Dst:             reverse2
        - Src:             'fuzzer/tpm_cmd.c:330,20'
          Dst:             reverse2
        - Src:             'fuzzer/tpm_cmd.c:332,20'
          Dst:             reverse2
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/fuzzer/tpm_cmd.c'
      linkageType:     externalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - Data
        - Size
      BBCount:         27
      ICount:          198
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - _plat__ClearNvAvail
        - _plat__RunCommand
        - _plat__SetNvAvail
        - _plat__Signal_Reset
        - fixup_cc
        - fixup_size
        - fixup_tag
        - reverse4
      functionUses:    0
      BranchProfiles:
        - Branch String:   'fuzzer/tpm_cmd.c:352,22'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:352,25'
              BranchSideFuncs: []
            - BranchSide:      'fuzzer/tpm_cmd.c:353,9'
              BranchSideFuncs: []
        - Branch String:   'fuzzer/tpm_cmd.c:352,9'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:353,9'
              BranchSideFuncs: []
            - BranchSide:      'fuzzer/tpm_cmd.c:356,20'
              BranchSideFuncs:
                - fixup_tag
                - fixup_size
                - fixup_cc
                - _plat__Signal_Reset
                - _plat__SetNvAvail
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - fixup_tag
                - fixup_size
                - fixup_cc
        - Branch String:   'fuzzer/tpm_cmd.c:362,10'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:364,14'
              BranchSideFuncs:
                - fixup_tag
                - fixup_size
                - fixup_cc
                - _plat__Signal_Reset
                - _plat__SetNvAvail
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - fixup_tag
                - fixup_size
                - fixup_cc
            - BranchSide:      'fuzzer/tpm_cmd.c:381,25'
              BranchSideFuncs:
                - fixup_tag
                - fixup_size
                - fixup_cc
                - _plat__Signal_Reset
                - _plat__SetNvAvail
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
        - Branch String:   'fuzzer/tpm_cmd.c:364,14'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:366,28'
              BranchSideFuncs:
                - fixup_tag
                - fixup_size
                - fixup_cc
                - fixup_tag
                - fixup_size
                - fixup_cc
                - _plat__Signal_Reset
                - _plat__SetNvAvail
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
            - BranchSide:      'fuzzer/tpm_cmd.c:378,14'
              BranchSideFuncs:
                - fixup_tag
                - fixup_size
                - fixup_cc
                - _plat__Signal_Reset
                - _plat__SetNvAvail
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
        - Branch String:   'fuzzer/tpm_cmd.c:367,18'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:368,23'
              BranchSideFuncs:
                - fixup_tag
                - fixup_size
                - fixup_cc
                - fixup_tag
                - fixup_size
                - fixup_cc
                - _plat__Signal_Reset
                - _plat__SetNvAvail
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
            - BranchSide:      'fuzzer/tpm_cmd.c:370,34'
              BranchSideFuncs:
                - fixup_tag
                - fixup_size
                - fixup_cc
                - fixup_tag
                - fixup_size
                - fixup_cc
                - _plat__Signal_Reset
                - _plat__SetNvAvail
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
        - Branch String:   'fuzzer/tpm_cmd.c:397,10'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:398,36'
              BranchSideFuncs:
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
            - BranchSide:      'fuzzer/tpm_cmd.c:401,74'
              BranchSideFuncs:
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
        - Branch String:   'fuzzer/tpm_cmd.c:406,10'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:407,36'
              BranchSideFuncs:
                - reverse4
                - _plat__RunCommand
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
            - BranchSide:      'fuzzer/tpm_cmd.c:410,76'
              BranchSideFuncs:
                - _plat__RunCommand
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
                - reverse4
                - _plat__RunCommand
        - Branch String:   'fuzzer/tpm_cmd.c:414,10'
          Branch Sides:
            - BranchSide:      'fuzzer/tpm_cmd.c:415,36'
              BranchSideFuncs:
                - reverse4
                - _plat__RunCommand
                - _plat__ClearNvAvail
            - BranchSide:      'fuzzer/tpm_cmd.c:417,5'
              BranchSideFuncs:
                - _plat__ClearNvAvail
      Callsites:
        - Src:             'fuzzer/tpm_cmd.c:373,13'
          Dst:             fixup_tag
        - Src:             'fuzzer/tpm_cmd.c:374,13'
          Dst:             fixup_size
        - Src:             'fuzzer/tpm_cmd.c:375,13'
          Dst:             fixup_cc
        - Src:             'fuzzer/tpm_cmd.c:385,5'
          Dst:             fixup_tag
        - Src:             'fuzzer/tpm_cmd.c:386,5'
          Dst:             fixup_size
        - Src:             'fuzzer/tpm_cmd.c:387,5'
          Dst:             fixup_cc
        - Src:             'fuzzer/tpm_cmd.c:389,5'
          Dst:             _plat__Signal_Reset
        - Src:             'fuzzer/tpm_cmd.c:390,5'
          Dst:             _plat__SetNvAvail
        - Src:             'fuzzer/tpm_cmd.c:393,5'
          Dst:             _plat__RunCommand
        - Src:             'fuzzer/tpm_cmd.c:396,23'
          Dst:             reverse4
        - Src:             'fuzzer/tpm_cmd.c:396,5'
          Dst:             _plat__RunCommand
        - Src:             'fuzzer/tpm_cmd.c:398,27'
          Dst:             reverse4
        - Src:             'fuzzer/tpm_cmd.c:398,9'
          Dst:             _plat__RunCommand
        - Src:             'fuzzer/tpm_cmd.c:401,5'
          Dst:             _plat__RunCommand
        - Src:             'fuzzer/tpm_cmd.c:402,5'
          Dst:             _plat__RunCommand
        - Src:             'fuzzer/tpm_cmd.c:405,23'
          Dst:             reverse4
        - Src:             'fuzzer/tpm_cmd.c:405,5'
          Dst:             _plat__RunCommand
        - Src:             'fuzzer/tpm_cmd.c:407,27'
          Dst:             reverse4
        - Src:             'fuzzer/tpm_cmd.c:407,9'
          Dst:             _plat__RunCommand
        - Src:             'fuzzer/tpm_cmd.c:410,5'
          Dst:             _plat__RunCommand
        - Src:             'fuzzer/tpm_cmd.c:413,23'
          Dst:             reverse4
        - Src:             'fuzzer/tpm_cmd.c:413,5'
          Dst:             _plat__RunCommand
        - Src:             'fuzzer/tpm_cmd.c:415,27'
          Dst:             reverse4
        - Src:             'fuzzer/tpm_cmd.c:415,9'
          Dst:             _plat__RunCommand
        - Src:             'fuzzer/tpm_cmd.c:417,5'
          Dst:             _plat__ClearNvAvail
    - functionName:    LLVMFuzzerInitialize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/fuzzer/tpm_cmd.c'
      linkageType:     externalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - argc
        - argv
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_Manufacture
        - _plat__LocalitySet
        - _plat__NVEnable
        - _plat__Signal_PowerOn
        - fprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzzer/tpm_cmd.c:319,5'
          Dst:             _plat__NVEnable
        - Src:             'fuzzer/tpm_cmd.c:320,5'
          Dst:             TPM_Manufacture
        - Src:             'fuzzer/tpm_cmd.c:321,5'
          Dst:             _plat__Signal_PowerOn
        - Src:             'fuzzer/tpm_cmd.c:322,5'
          Dst:             _plat__LocalitySet
        - Src:             'fuzzer/tpm_cmd.c:323,5'
          Dst:             fprintf
    - 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:    _plat__LocalitySet
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/LocalityPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - locality
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Platform/src/LocalityPlat.c:53,21'
          Branch Sides:
            - BranchSide:      'Platform/src/LocalityPlat.c:53,24'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/LocalityPlat.c:53,21'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/LocalityPlat.c:53,8'
          Branch Sides:
            - BranchSide:      'Platform/src/LocalityPlat.c:53,8'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/LocalityPlat.c:54,18'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    _plat__LocalityGet
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/LocalityPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      char
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__NVNeedsManufacture
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 366
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__ClearNvAvail
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 359
      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/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 350
      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/ms-tpm-20-ref/TPMCmd/Platform/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:
        - Branch String:   'Platform/src/NVMem.c:338,13'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:338,13'
              BranchSideFuncs:
                - NvFileCommit
            - BranchSide:      'Platform/src/NVMem.c:338,13'
              BranchSideFuncs:
                - NvFileCommit
      Callsites:
        - Src:             'Platform/src/NVMem.c:338,13'
          Dst:             NvFileCommit
    - functionName:    NvFileCommit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - fflush
        - fseek
        - fwrite
      functionUses:    3
      BranchProfiles:
        - Branch String:   'Platform/src/NVMem.c:91,9'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:93,8'
              BranchSideFuncs:
                - fseek
                - fwrite
                - fflush
            - BranchSide:      'Platform/src/NVMem.c:93,8'
              BranchSideFuncs:
                - fseek
                - fwrite
                - fflush
        - Branch String:   'Platform/src/NVMem.c:93,8'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:94,9'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/NVMem.c:96,11'
              BranchSideFuncs:
                - fseek
                - fwrite
                - fflush
        - Branch String:   'Platform/src/NVMem.c:98,13'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:98,29'
              BranchSideFuncs:
                - fflush
            - BranchSide:      'Platform/src/NVMem.c:98,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'Platform/src/NVMem.c:96,5'
          Dst:             fseek
        - Src:             'Platform/src/NVMem.c:97,29'
          Dst:             fwrite
        - Src:             'Platform/src/NVMem.c:98,22'
          Dst:             fflush
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__NvMemoryMove
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 326
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - sourceOffset
        - destOffset
        - size
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__NvMemoryWrite
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 298
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - startOffset
        - size
        - data
      BBCount:         4
      ICount:          38
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Platform/src/NVMem.c:292,8'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:294,22'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/NVMem.c:297,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    _plat__NvIsDifferent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - startOffset
        - size
        - data
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Platform/src/NVMem.c:277,13'
          Dst:             memcmp
    - 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:    _plat__NvMemoryRead
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - startOffset
        - size
        - data
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__IsNvAvailable
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Platform/src/NVMem.c:245,8'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:246,16'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/NVMem.c:249,19'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    _plat__NVDisable
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - delete
      BBCount:         12
      ICount:          50
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - NvFileOpen
        - fclose
        - fflush
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Platform/src/NVMem.c:215,8'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:215,8'
              BranchSideFuncs:
                - fclose
                - NvFileOpen
                - fflush
                - fclose
            - BranchSide:      'Platform/src/NVMem.c:217,16'
              BranchSideFuncs:
                - fclose
                - NvFileOpen
                - fflush
                - fclose
        - Branch String:   'Platform/src/NVMem.c:220,12'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:223,16'
              BranchSideFuncs:
                - NvFileOpen
                - fflush
                - fclose
            - BranchSide:      'Platform/src/NVMem.c:229,5'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/NVMem.c:223,16'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:225,24'
              BranchSideFuncs:
                - fflush
                - fclose
            - BranchSide:      'Platform/src/NVMem.c:228,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'Platform/src/NVMem.c:217,9'
          Dst:             fclose
        - Src:             'Platform/src/NVMem.c:223,16'
          Dst:             NvFileOpen
        - Src:             'Platform/src/NVMem.c:225,17'
          Dst:             fflush
        - Src:             'Platform/src/NVMem.c:226,17'
          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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvFileOpen
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - mode
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fopen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Platform/src/NVMem.c:79,32'
          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:    NvFileSize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - leaveAt
      BBCount:         9
      ICount:          57
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - fseek
        - ftell
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Platform/src/NVMem.c:119,5'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:122,21'
              BranchSideFuncs:
                - fseek
            - BranchSide:      'Platform/src/NVMem.c:124,19'
              BranchSideFuncs:
                - fseek
            - BranchSide:      'Platform/src/NVMem.c:127,13'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/NVMem.c:130,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'Platform/src/NVMem.c:110,20'
          Dst:             ftell
        - Src:             'Platform/src/NVMem.c:114,24'
          Dst:             fseek
        - Src:             'Platform/src/NVMem.c:117,16'
          Dst:             ftell
        - Src:             'Platform/src/NVMem.c:124,13'
          Dst:             fseek
    - 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:    _plat__NvMemoryClear
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - start
        - size
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__NVEnable
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - platParameter
      BBCount:         17
      ICount:          88
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - NvFileCommit
        - NvFileOpen
        - NvFileSize
        - _plat__NvMemoryClear
        - fread
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Platform/src/NVMem.c:170,8'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:171,9'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/NVMem.c:173,5'
              BranchSideFuncs:
                - _plat__NvMemoryClear
                - NvFileOpen
                - NvFileOpen
                - NvFileCommit
                - NvFileSize
                - NvFileCommit
                - fread
        - Branch String:   'Platform/src/NVMem.c:176,8'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:178,25'
              BranchSideFuncs:
                - NvFileSize
                - NvFileCommit
                - fread
            - BranchSide:      'Platform/src/NVMem.c:194,13'
              BranchSideFuncs:
                - NvFileOpen
                - NvFileCommit
        - Branch String:   'Platform/src/NVMem.c:182,12'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:184,65'
              BranchSideFuncs:
                - fread
            - BranchSide:      'Platform/src/NVMem.c:189,13'
              BranchSideFuncs:
                - NvFileCommit
        - Branch String:   'Platform/src/NVMem.c:204,8'
          Branch Sides:
            - BranchSide:      'Platform/src/NVMem.c:205,9'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/NVMem.c:206,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'Platform/src/NVMem.c:173,5'
          Dst:             _plat__NvMemoryClear
        - Src:             'Platform/src/NVMem.c:176,8'
          Dst:             NvFileOpen
        - Src:             'Platform/src/NVMem.c:178,25'
          Dst:             NvFileSize
        - Src:             'Platform/src/NVMem.c:184,34'
          Dst:             fread
        - Src:             'Platform/src/NVMem.c:189,13'
          Dst:             NvFileCommit
        - Src:             'Platform/src/NVMem.c:194,13'
          Dst:             NvFileOpen
        - Src:             'Platform/src/NVMem.c:196,9'
          Dst:             NvFileCommit
    - 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/ms-tpm-20-ref/TPMCmd/Platform/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - recoverable
        - unrecoverable
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__Signal_PowerOff
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PowerPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__ACT_EnableTicks
        - _plat__NVDisable
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Platform/src/PowerPlat.c:97,5'
          Branch Sides:
            - BranchSide:      'Platform/src/PowerPlat.c:97,5'
              BranchSideFuncs:
                - _plat__NVDisable
                - _plat__ACT_EnableTicks
            - BranchSide:      'Platform/src/PowerPlat.c:97,5'
              BranchSideFuncs:
                - _plat__NVDisable
                - _plat__ACT_EnableTicks
      Callsites:
        - Src:             'Platform/src/PowerPlat.c:97,5'
          Dst:             _plat__NVDisable
        - Src:             'Platform/src/PowerPlat.c:100,5'
          Dst:             _plat__ACT_EnableTicks
    - functionName:    _plat__Signal_Reset
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PowerPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _TPM_Init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Platform/src/PowerPlat.c:79,16'
          Branch Sides:
            - BranchSide:      'Platform/src/PowerPlat.c:79,16'
              BranchSideFuncs:
                - _TPM_Init
            - BranchSide:      'Platform/src/PowerPlat.c:79,16'
              BranchSideFuncs:
                - _TPM_Init
      Callsites:
        - Src:             'Platform/src/PowerPlat.c:84,5'
          Dst:             _TPM_Init
    - functionName:    _plat__WasPowerLost
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PowerPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__Signal_PowerOn
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PowerPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__TimerReset
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Platform/src/PowerPlat.c:47,5'
          Branch Sides:
            - BranchSide:      'Platform/src/PowerPlat.c:47,5'
              BranchSideFuncs:
                - _plat__TimerReset
            - BranchSide:      'Platform/src/PowerPlat.c:47,5'
              BranchSideFuncs:
                - _plat__TimerReset
      Callsites:
        - Src:             'Platform/src/PowerPlat.c:47,5'
          Dst:             _plat__TimerReset
    - functionName:    _plat__RunCommand
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/RunCommand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - requestSize
        - request
        - responseSize
        - response
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ExecuteCommand
        - _setjmp
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'Platform/src/RunCommand.c:72,5'
          Dst:             _setjmp
        - Src:             'Platform/src/RunCommand.c:73,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/ms-tpm-20-ref/TPMCmd/Platform/src/RunCommand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          2
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - longjmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Platform/src/RunCommand.c:80,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:    _plat__ClockAdjustRate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - adjust
      BBCount:         15
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'Platform/src/Clock.c:227,5'
          Branch Sides:
            - BranchSide:      'Platform/src/Clock.c:230,26'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Clock.c:233,26'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Clock.c:236,26'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Clock.c:239,26'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Clock.c:242,26'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Clock.c:245,26'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Clock.c:249,13'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/Clock.c:252,8'
          Branch Sides:
            - BranchSide:      'Platform/src/Clock.c:253,22'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Clock.c:254,8'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/Clock.c:254,8'
          Branch Sides:
            - BranchSide:      'Platform/src/Clock.c:254,8'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Clock.c:255,22'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    _plat__TimerWasStopped
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__TimerWasReset
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__TimerRead
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          107
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _plat__RealTime
        - clock
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Platform/src/Clock.c:127,15'
          Branch Sides:
            - BranchSide:      'Platform/src/Clock.c:133,15'
              BranchSideFuncs:
                - _plat__RealTime
                - clock
            - BranchSide:      'Platform/src/Clock.c:133,15'
              BranchSideFuncs:
                - _plat__RealTime
                - clock
        - Branch String:   'Platform/src/Clock.c:136,8'
          Branch Sides:
            - BranchSide:      'Platform/src/Clock.c:138,30'
              BranchSideFuncs:
                - clock
            - BranchSide:      'Platform/src/Clock.c:146,8'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/Clock.c:146,8'
          Branch Sides:
            - BranchSide:      'Platform/src/Clock.c:147,28'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Clock.c:148,26'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/Clock.c:157,8'
          Branch Sides:
            - BranchSide:      'Platform/src/Clock.c:158,16'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Clock.c:160,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'Platform/src/Clock.c:133,15'
          Dst:             _plat__RealTime
        - Src:             'Platform/src/Clock.c:139,30'
          Dst:             clock
    - functionName:    _plat__RealTime
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - clock_gettime
      functionUses:    3
      BranchProfiles:
        - Branch String:   'Platform/src/Clock.c:89,15'
          Branch Sides:
            - BranchSide:      'Platform/src/Clock.c:89,15'
              BranchSideFuncs:
                - clock_gettime
            - BranchSide:      'Platform/src/Clock.c:102,5'
              BranchSideFuncs:
                - clock_gettime
      Callsites:
        - Src:             'Platform/src/Clock.c:102,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/ms-tpm-20-ref/TPMCmd/Platform/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__TimerReset
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ActZero
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - act
        - actData
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ActSignal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Platform/src/PlatformACT.c:290,5'
          Dst:             ActSignal
    - functionName:    ActSignal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - actData
        - on
      BBCount:         12
      ICount:          64
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'Platform/src/PlatformACT.c:44,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:45,9'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:49,8'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/PlatformACT.c:49,11'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:49,15'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:51,34'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/PlatformACT.c:49,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:50,9'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:51,34'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/PlatformACT.c:55,5'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:59,13'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:99,13'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:123,13'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    _plat__ACT_Initialize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ActZero
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Platform/src/PlatformACT.c:297,21'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:297,21'
              BranchSideFuncs:
                - ActZero
                - ActZero
            - BranchSide:      'Platform/src/PlatformACT.c:297,21'
              BranchSideFuncs:
                - ActZero
                - ActZero
      Callsites:
        - Src:             'Platform/src/PlatformACT.c:299,5'
          Dst:             ActZero
        - Src:             'Platform/src/PlatformACT.c:299,5'
          Dst:             ActZero
    - functionName:    ActDecrement
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - actData
      BBCount:         24
      ICount:          127
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - ActSignal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Platform/src/PlatformACT.c:239,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:243,13'
              BranchSideFuncs:
                - ActSignal
                - ActSignal
            - BranchSide:      'Platform/src/PlatformACT.c:251,9'
              BranchSideFuncs:
                - ActSignal
                - ActSignal
        - Branch String:   'Platform/src/PlatformACT.c:243,37'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:243,41'
              BranchSideFuncs:
                - ActSignal
                - ActSignal
            - BranchSide:      'Platform/src/PlatformACT.c:245,30'
              BranchSideFuncs:
                - ActSignal
                - ActSignal
        - Branch String:   'Platform/src/PlatformACT.c:243,12'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:244,13'
              BranchSideFuncs:
                - ActSignal
                - ActSignal
            - BranchSide:      'Platform/src/PlatformACT.c:245,30'
              BranchSideFuncs:
                - ActSignal
                - ActSignal
        - Branch String:   'Platform/src/PlatformACT.c:251,34'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:251,38'
              BranchSideFuncs:
                - ActSignal
                - ActSignal
            - BranchSide:      'Platform/src/PlatformACT.c:260,8'
              BranchSideFuncs:
                - ActSignal
        - Branch String:   'Platform/src/PlatformACT.c:251,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:255,13'
              BranchSideFuncs:
                - ActSignal
                - ActSignal
            - BranchSide:      'Platform/src/PlatformACT.c:260,8'
              BranchSideFuncs:
                - ActSignal
        - Branch String:   'Platform/src/PlatformACT.c:255,12'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:256,23'
              BranchSideFuncs:
                - ActSignal
                - ActSignal
            - BranchSide:      'Platform/src/PlatformACT.c:257,5'
              BranchSideFuncs:
                - ActSignal
        - Branch String:   'Platform/src/PlatformACT.c:260,26'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:260,30'
              BranchSideFuncs:
                - ActSignal
            - BranchSide:      'Platform/src/PlatformACT.c:260,26'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/PlatformACT.c:260,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:260,8'
              BranchSideFuncs:
                - ActSignal
            - BranchSide:      'Platform/src/PlatformACT.c:261,19'
              BranchSideFuncs:
                - ActSignal
      Callsites:
        - Src:             'Platform/src/PlatformACT.c:256,13'
          Dst:             ActSignal
        - Src:             'Platform/src/PlatformACT.c:261,9'
          Dst:             ActSignal
    - functionName:    _plat__ACT_Tick
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ActDecrement
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Platform/src/PlatformACT.c:273,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:273,8'
              BranchSideFuncs:
                - ActDecrement
                - ActDecrement
            - BranchSide:      'Platform/src/PlatformACT.c:273,8'
              BranchSideFuncs:
                - ActDecrement
                - ActDecrement
        - Branch String:   'Platform/src/PlatformACT.c:273,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:273,8'
              BranchSideFuncs:
                - ActDecrement
                - ActDecrement
            - BranchSide:      'Platform/src/PlatformACT.c:278,9'
              BranchSideFuncs:
                - ActDecrement
                - ActDecrement
      Callsites:
        - Src:             'Platform/src/PlatformACT.c:278,9'
          Dst:             ActDecrement
        - Src:             'Platform/src/PlatformACT.c:278,9'
          Dst:             ActDecrement
    - functionName:    _plat__ACT_EnableTicks
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - enable
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__ACT_UpdateCounter
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - act
        - newValue
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ActGetDataPointer
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Platform/src/PlatformACT.c:208,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:211,9'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:213,8'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/PlatformACT.c:213,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:214,9'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:215,25'
              BranchSideFuncs: []
      Callsites:
        - Src:             'Platform/src/PlatformACT.c:206,26'
          Dst:             ActGetDataPointer
    - functionName:    ActGetDataPointer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - act
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'Platform/src/PlatformACT.c:135,5'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:135,5'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:135,5'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/PlatformACT.c:135,5'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:135,5'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:137,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    _plat__ACT_GetPending
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - act
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ActGetDataPointer
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Platform/src/PlatformACT.c:192,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:193,9'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:194,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'Platform/src/PlatformACT.c:190,26'
          Dst:             ActGetDataPointer
    - functionName:    _plat__ACT_SetSignaled
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - act
        - on
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ActGetDataPointer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Platform/src/PlatformACT.c:183,15'
          Dst:             ActGetDataPointer
        - Src:             'Platform/src/PlatformACT.c:183,5'
          Dst:             ActSignal
    - functionName:    _plat__ACT_GetSignaled
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - act
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ActGetDataPointer
      functionUses:    3
      BranchProfiles:
        - Branch String:   'Platform/src/PlatformACT.c:175,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:176,9'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:177,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'Platform/src/PlatformACT.c:173,26'
          Dst:             ActGetDataPointer
    - functionName:    _plat__ACT_GetRemaining
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - act
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ActGetDataPointer
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Platform/src/PlatformACT.c:161,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:162,9'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:163,14'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/PlatformACT.c:164,8'
          Branch Sides:
            - BranchSide:      'Platform/src/PlatformACT.c:165,18'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/PlatformACT.c:166,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'Platform/src/PlatformACT.c:158,26'
          Dst:             ActGetDataPointer
    - functionName:    _plat__ACT_GetImplemented
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PlatformACT.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - act
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ActGetDataPointer
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Platform/src/PlatformACT.c:147,13'
          Dst:             ActGetDataPointer
    - functionName:    _TPM_Init
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/events/_TPM_Init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptInit
        - NvPowerOn
        - NvRead
        - NvReadPersistent
        - TPMInit
        - TimePowerOn
        - _plat__ACT_EnableTicks
        - _plat__WasPowerLost
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/events/_TPM_Init.c:41,22'
          Branch Sides:
            - BranchSide:      'tpm/src/events/_TPM_Init.c:41,22'
              BranchSideFuncs:
                - _plat__WasPowerLost
                - _plat__ACT_EnableTicks
                - TPMInit
                - NvPowerOn
                - CryptInit
                - NvReadPersistent
                - NvRead
                - TimePowerOn
            - BranchSide:      'tpm/src/events/_TPM_Init.c:41,22'
              BranchSideFuncs:
                - _plat__WasPowerLost
                - _plat__ACT_EnableTicks
                - TPMInit
                - NvPowerOn
                - CryptInit
                - NvReadPersistent
                - NvRead
                - TimePowerOn
        - Branch String:   'tpm/src/events/_TPM_Init.c:76,41'
          Branch Sides:
            - BranchSide:      'tpm/src/events/_TPM_Init.c:76,41'
              BranchSideFuncs:
                - NvReadPersistent
                - NvRead
                - TimePowerOn
            - BranchSide:      'tpm/src/events/_TPM_Init.c:76,45'
              BranchSideFuncs:
                - CryptInit
                - NvReadPersistent
                - NvRead
                - TimePowerOn
        - Branch String:   'tpm/src/events/_TPM_Init.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/events/_TPM_Init.c:77,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/events/_TPM_Init.c:80,9'
              BranchSideFuncs:
                - NvReadPersistent
                - NvRead
                - TimePowerOn
      Callsites:
        - Src:             'tpm/src/events/_TPM_Init.c:41,39'
          Dst:             _plat__WasPowerLost
        - Src:             'tpm/src/events/_TPM_Init.c:61,5'
          Dst:             _plat__ACT_EnableTicks
        - Src:             'tpm/src/events/_TPM_Init.c:64,5'
          Dst:             TPMInit
        - Src:             'tpm/src/events/_TPM_Init.c:73,14'
          Dst:             NvPowerOn
        - Src:             'tpm/src/events/_TPM_Init.c:76,45'
          Dst:             CryptInit
        - Src:             'tpm/src/events/_TPM_Init.c:80,9'
          Dst:             NvReadPersistent
        - Src:             'tpm/src/events/_TPM_Init.c:84,9'
          Dst:             NvRead
        - Src:             'tpm/src/events/_TPM_Init.c:87,9'
          Dst:             TimePowerOn
    - functionName:    ExecuteCommand
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/ExecCommand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - requestSize
        - request
        - responseSize
        - response
      BBCount:         84
      ICount:          477
      EdgeCount:       114
      CyclomaticComplexity: 32
      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
        - TimeUpdateToCurrent
        - TpmFail
        - TpmFailureMode
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/ExecCommand.c:109,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:111,21'
              BranchSideFuncs:
                - NvCheckState
                - TimeUpdateToCurrent
                - TPMI_ST_COMMAND_TAG_Unmarshal
                - UINT32_Unmarshal
                - UINT32_Unmarshal
                - CommandCodeToCommandIndex
                - TPMIsStarted
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
                - ObjectTerminateEvent
                - TpmFailureMode
            - BranchSide:      'tpm/src/main/ExecCommand.c:124,20'
              BranchSideFuncs:
                - NvCheckState
                - TimeUpdateToCurrent
                - TPMI_ST_COMMAND_TAG_Unmarshal
                - UINT32_Unmarshal
                - UINT32_Unmarshal
                - CommandCodeToCommandIndex
                - TPMIsStarted
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
                - ObjectTerminateEvent
                - TpmFailureMode
        - Branch String:   'tpm/src/main/ExecCommand.c:126,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:129,24'
              BranchSideFuncs:
                - TpmFailureMode
            - BranchSide:      'tpm/src/main/ExecCommand.c:138,5'
              BranchSideFuncs:
                - NvCheckState
                - TimeUpdateToCurrent
                - TPMI_ST_COMMAND_TAG_Unmarshal
                - UINT32_Unmarshal
                - UINT32_Unmarshal
                - CommandCodeToCommandIndex
                - TPMIsStarted
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
                - ObjectTerminateEvent
        - Branch String:   'tpm/src/main/ExecCommand.c:149,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:150,9'
              BranchSideFuncs:
                - ObjectTerminateEvent
                - TPMI_ST_COMMAND_TAG_Unmarshal
                - UINT32_Unmarshal
                - UINT32_Unmarshal
                - CommandCodeToCommandIndex
                - TPMIsStarted
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
            - BranchSide:      'tpm/src/main/ExecCommand.c:153,31'
              BranchSideFuncs:
                - TPMI_ST_COMMAND_TAG_Unmarshal
                - UINT32_Unmarshal
                - UINT32_Unmarshal
                - CommandCodeToCommandIndex
                - TPMIsStarted
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:161,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:162,9'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:165,32'
              BranchSideFuncs:
                - UINT32_Unmarshal
                - UINT32_Unmarshal
                - CommandCodeToCommandIndex
                - TPMIsStarted
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:166,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:167,9'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:175,8'
              BranchSideFuncs:
                - UINT32_Unmarshal
                - CommandCodeToCommandIndex
                - TPMIsStarted
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:175,35'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:175,38'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:177,16'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:175,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:177,16'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:181,14'
              BranchSideFuncs:
                - UINT32_Unmarshal
                - CommandCodeToCommandIndex
                - TPMIsStarted
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:183,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:184,9'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:186,55'
              BranchSideFuncs:
                - CommandCodeToCommandIndex
                - TPMIsStarted
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:187,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:189,16'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:205,14'
              BranchSideFuncs:
                - TPMIsStarted
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:205,29'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:205,40'
              BranchSideFuncs:
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
            - BranchSide:      'tpm/src/main/ExecCommand.c:206,16'
              BranchSideFuncs:
                - TPMIsStarted
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:206,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:206,16'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:208,20'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:206,31'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:206,42'
              BranchSideFuncs:
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
            - BranchSide:      'tpm/src/main/ExecCommand.c:212,5'
              BranchSideFuncs:
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:205,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:208,20'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:212,5'
              BranchSideFuncs:
                - NvIndexCacheInit
                - ParseHandleBuffer
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:215,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:216,9'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:219,14'
              BranchSideFuncs:
                - EntityGetLoadStatus
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:220,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:221,9'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:223,5'
              BranchSideFuncs:
                - ClearCpRpHashes
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
                - UINT32_Unmarshal
                - ParseSessionBuffer
        - Branch String:   'tpm/src/main/ExecCommand.c:224,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:227,53'
              BranchSideFuncs:
                - UINT32_Unmarshal
                - ParseSessionBuffer
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:254,17'
              BranchSideFuncs:
                - CheckAuthNoSession
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:230,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:231,13'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:237,20'
              BranchSideFuncs:
                - ParseSessionBuffer
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:237,33'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:237,44'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:239,20'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:237,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:239,20'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:242,42'
              BranchSideFuncs:
                - ParseSessionBuffer
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:249,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:250,13'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:251,5'
              BranchSideFuncs:
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:259,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:0,0'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:260,13'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:269,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:270,17'
              BranchSideFuncs:
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:271,35'
              BranchSideFuncs:
                - IsHandleInResponse
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:271,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:272,17'
              BranchSideFuncs:
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:277,14'
              BranchSideFuncs:
                - CommandDispatcher
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:278,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:279,9'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:282,14'
              BranchSideFuncs:
                - BuildResponseSession
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:283,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:283,18'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:285,9'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
        - Branch String:   'tpm/src/main/ExecCommand.c:289,31'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:289,34'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
                - NvWrite
            - BranchSide:      'tpm/src/main/ExecCommand.c:302,5'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
        - Branch String:   'tpm/src/main/ExecCommand.c:289,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:292,27'
              BranchSideFuncs:
                - NvWrite
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
            - BranchSide:      'tpm/src/main/ExecCommand.c:302,5'
              BranchSideFuncs:
                - ObjectCleanupEvict
                - BuildResponseHeader
                - TpmFail
                - MemorySet
                - NvCommit
                - TpmFail
                - NvUpdateIndexOrderlyData
        - Branch String:   'tpm/src/main/ExecCommand.c:313,32'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:313,36'
              BranchSideFuncs:
                - NvCommit
                - TpmFail
                - TpmFail
                - MemorySet
                - NvUpdateIndexOrderlyData
            - BranchSide:      'tpm/src/main/ExecCommand.c:321,5'
              BranchSideFuncs:
                - TpmFail
                - MemorySet
        - Branch String:   'tpm/src/main/ExecCommand.c:313,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:315,12'
              BranchSideFuncs:
                - TpmFail
                - MemorySet
            - BranchSide:      'tpm/src/main/ExecCommand.c:321,5'
              BranchSideFuncs:
                - TpmFail
                - MemorySet
        - Branch String:   'tpm/src/main/ExecCommand.c:315,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:316,13'
              BranchSideFuncs:
                - NvUpdateIndexOrderlyData
                - NvCommit
                - TpmFail
                - TpmFail
                - MemorySet
            - BranchSide:      'tpm/src/main/ExecCommand.c:317,13'
              BranchSideFuncs:
                - NvCommit
                - TpmFail
                - TpmFail
                - MemorySet
        - Branch String:   'tpm/src/main/ExecCommand.c:317,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:318,13'
              BranchSideFuncs:
                - TpmFail
                - MemorySet
            - BranchSide:      'tpm/src/main/ExecCommand.c:319,20'
              BranchSideFuncs:
                - TpmFail
                - MemorySet
        - Branch String:   'tpm/src/main/ExecCommand.c:321,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/ExecCommand.c:321,5'
              BranchSideFuncs:
                - MemorySet
            - BranchSide:      'tpm/src/main/ExecCommand.c:324,16'
              BranchSideFuncs:
                - MemorySet
      Callsites:
        - Src:             'tpm/src/main/ExecCommand.c:129,9'
          Dst:             TpmFailureMode
        - Src:             'tpm/src/main/ExecCommand.c:138,5'
          Dst:             NvCheckState
        - Src:             'tpm/src/main/ExecCommand.c:145,5'
          Dst:             TimeUpdateToCurrent
        - Src:             'tpm/src/main/ExecCommand.c:150,9'
          Dst:             ObjectTerminateEvent
        - Src:             'tpm/src/main/ExecCommand.c:159,14'
          Dst:             TPMI_ST_COMMAND_TAG_Unmarshal
        - Src:             'tpm/src/main/ExecCommand.c:164,14'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/main/ExecCommand.c:181,14'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/main/ExecCommand.c:186,21'
          Dst:             CommandCodeToCommandIndex
        - Src:             'tpm/src/main/ExecCommand.c:205,14'
          Dst:             TPMIsStarted
        - Src:             'tpm/src/main/ExecCommand.c:206,16'
          Dst:             TPMIsStarted
        - Src:             'tpm/src/main/ExecCommand.c:212,5'
          Dst:             NvIndexCacheInit
        - Src:             'tpm/src/main/ExecCommand.c:214,14'
          Dst:             ParseHandleBuffer
        - Src:             'tpm/src/main/ExecCommand.c:219,14'
          Dst:             EntityGetLoadStatus
        - Src:             'tpm/src/main/ExecCommand.c:223,5'
          Dst:             ClearCpRpHashes
        - Src:             'tpm/src/main/ExecCommand.c:227,18'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/main/ExecCommand.c:248,18'
          Dst:             ParseSessionBuffer
        - Src:             'tpm/src/main/ExecCommand.c:258,18'
          Dst:             CheckAuthNoSession
        - Src:             'tpm/src/main/ExecCommand.c:271,8'
          Dst:             IsHandleInResponse
        - Src:             'tpm/src/main/ExecCommand.c:277,14'
          Dst:             CommandDispatcher
        - Src:             'tpm/src/main/ExecCommand.c:282,14'
          Dst:             BuildResponseSession
        - Src:             'tpm/src/main/ExecCommand.c:296,9'
          Dst:             NvWrite
        - Src:             'tpm/src/main/ExecCommand.c:302,5'
          Dst:             ObjectCleanupEvict
        - Src:             'tpm/src/main/ExecCommand.c:306,5'
          Dst:             BuildResponseHeader
        - Src:             'tpm/src/main/ExecCommand.c:316,13'
          Dst:             NvUpdateIndexOrderlyData
        - Src:             'tpm/src/main/ExecCommand.c:317,13'
          Dst:             NvCommit
        - Src:             'tpm/src/main/ExecCommand.c:318,13'
          Dst:             TpmFail
        - Src:             'tpm/src/main/ExecCommand.c:321,5'
          Dst:             TpmFail
        - Src:             'tpm/src/main/ExecCommand.c:324,5'
          Dst:             MemorySet
    - functionName:    UpdateInternalSession
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1958
      functionLinenumberEnd: 1969
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - session
        - i
      BBCount:         8
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - HandleGetType
        - SessionResetPolicyData
        - SessionSetStartTime
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1962,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1962,11'
              BranchSideFuncs:
                - SessionResetPolicyData
                - SessionSetStartTime
            - BranchSide:      'tpm/src/main/SessionProcess.c:1962,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1961,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1961,8'
              BranchSideFuncs:
                - SessionResetPolicyData
                - SessionSetStartTime
            - BranchSide:      'tpm/src/main/SessionProcess.c:1966,32'
              BranchSideFuncs:
                - SessionResetPolicyData
                - SessionSetStartTime
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1961,8'
          Dst:             HandleGetType
        - Src:             'tpm/src/main/SessionProcess.c:1966,9'
          Dst:             SessionResetPolicyData
        - Src:             'tpm/src/main/SessionProcess.c:1967,9'
          Dst:             SessionSetStartTime
    - functionName:    ComputeResponseHMAC
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1895
      functionLinenumberEnd: 1949
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
        - sessionIndex
        - session
        - hmac
      BBCount:         12
      ICount:          133
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ComputeRpHash
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - EntityGetAuthValue
        - MemoryConcat2B
        - MemoryCopy2B
        - UINT8_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1908,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1916,20'
              BranchSideFuncs:
                - EntityGetAuthValue
                - MemoryConcat2B
                - CryptHmacStart2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:1927,14'
              BranchSideFuncs:
                - CryptHmacStart2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
        - Branch String:   'tpm/src/main/SessionProcess.c:1927,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1927,45'
              BranchSideFuncs:
                - CryptHmacStart2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:1933,49'
              BranchSideFuncs:
                - CryptHmacStart2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
        - Branch String:   'tpm/src/main/SessionProcess.c:1927,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1929,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1933,49'
              BranchSideFuncs:
                - CryptHmacStart2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1902,28'
          Dst:             ComputeRpHash
        - Src:             'tpm/src/main/SessionProcess.c:1905,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/main/SessionProcess.c:1919,9'
          Dst:             EntityGetAuthValue
        - Src:             'tpm/src/main/SessionProcess.c:1922,9'
          Dst:             MemoryConcat2B
        - Src:             'tpm/src/main/SessionProcess.c:1933,20'
          Dst:             CryptHmacStart2B
        - Src:             'tpm/src/main/SessionProcess.c:1936,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:1937,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:1938,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:1942,19'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/main/SessionProcess.c:1943,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/main/SessionProcess.c:1946,5'
          Dst:             CryptHmacEnd2B
    - functionName:    ComputeRpHash
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1678
      functionLinenumberEnd: 1697
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - command
        - hashAlg
      BBCount:         6
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - GetRpHashPointer
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1682,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1682,8'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:1687,53'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1679,28'
          Dst:             GetRpHashPointer
        - Src:             'tpm/src/main/SessionProcess.c:1687,26'
          Dst:             CryptHashStart
        - Src:             'tpm/src/main/SessionProcess.c:1690,9'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/main/SessionProcess.c:1691,9'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/main/SessionProcess.c:1692,9'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/main/SessionProcess.c:1695,9'
          Dst:             CryptHashEnd2B
    - functionName:    GetRpHashPointer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 552
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - command
        - hashAlg
      BBCount:         6
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:562,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:568,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:568,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:568,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:570,20'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    GetCpHash
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 616
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - command
        - hashAlg
      BBCount:         7
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - GetCpHashPointer
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:619,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:619,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:619,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:617,28'
          Dst:             GetCpHashPointer
        - Src:             'tpm/src/main/SessionProcess.c:619,5'
          Dst:             TpmFail
    - functionName:    GetCpHashPointer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 525
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - command
        - hashAlg
      BBCount:         6
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:535,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:541,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:541,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:541,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:543,20'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    UpdateAuditDigest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1723
      functionLinenumberEnd: 1741
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
        - hashAlg
        - digest
      BBCount:         7
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - ComputeRpHash
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
        - GetCpHash
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1728,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1728,5'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:1728,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1725,28'
          Dst:             GetCpHash
        - Src:             'tpm/src/main/SessionProcess.c:1726,28'
          Dst:             ComputeRpHash
        - Src:             'tpm/src/main/SessionProcess.c:1728,5'
          Dst:             TpmFail
        - Src:             'tpm/src/main/SessionProcess.c:1732,22'
          Dst:             CryptHashStart
        - Src:             'tpm/src/main/SessionProcess.c:1734,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:1736,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:1738,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:1740,5'
          Dst:             CryptHashEnd2B
    - functionName:    Audit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1748
      functionLinenumberEnd: 1751
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
        - auditSession
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpdateAuditDigest
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1749,5'
          Dst:             UpdateAuditDigest
    - functionName:    InitAuditSession
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1704
      functionLinenumberEnd: 1716
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - session
      BBCount:         3
      ICount:          43
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashGetDigestSize
        - MemorySet
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1712,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/main/SessionProcess.c:1715,5'
          Dst:             MemorySet
    - functionName:    ComputeCommandHMAC
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 871
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
        - sessionIndex
        - hmac
      BBCount:         35
      ICount:          267
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - ComputeCpHash
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - EntityGetAuthValue
        - MemoryConcat2B
        - MemoryCopy2B
        - SessionGet
        - UINT8_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:798,26'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:798,49'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
                - SessionGet
                - SessionGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:823,43'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
        - Branch String:   'tpm/src/main/SessionProcess.c:798,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:802,12'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
                - SessionGet
                - SessionGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:823,43'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
        - Branch String:   'tpm/src/main/SessionProcess.c:803,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:803,15'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
                - SessionGet
                - SessionGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:811,12'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
                - SessionGet
        - Branch String:   'tpm/src/main/SessionProcess.c:802,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:806,22'
              BranchSideFuncs:
                - SessionGet
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
                - SessionGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:811,12'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
                - SessionGet
        - Branch String:   'tpm/src/main/SessionProcess.c:812,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:812,15'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
                - SessionGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:820,5'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
        - Branch String:   'tpm/src/main/SessionProcess.c:813,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:813,15'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
                - SessionGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:820,5'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
        - Branch String:   'tpm/src/main/SessionProcess.c:811,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:816,22'
              BranchSideFuncs:
                - SessionGet
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:820,5'
              BranchSideFuncs:
                - SessionGet
                - MemoryCopy2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - EntityGetAuthValue
                - MemoryConcat2B
        - Branch String:   'tpm/src/main/SessionProcess.c:836,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:838,20'
              BranchSideFuncs:
                - EntityGetAuthValue
                - MemoryConcat2B
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:845,14'
              BranchSideFuncs:
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/main/SessionProcess.c:845,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:845,45'
              BranchSideFuncs:
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:851,49'
              BranchSideFuncs:
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/main/SessionProcess.c:845,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:847,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:851,49'
              BranchSideFuncs:
                - CryptHmacStart2B
                - ComputeCpHash
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/main/SessionProcess.c:859,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:860,40'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:861,8'
              BranchSideFuncs:
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/main/SessionProcess.c:861,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:862,40'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:864,19'
              BranchSideFuncs:
                - UINT8_Marshal
                - CryptDigestUpdate
                - CryptHmacEnd2B
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:807,17'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:817,17'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:823,15'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:826,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/main/SessionProcess.c:840,9'
          Dst:             EntityGetAuthValue
        - Src:             'tpm/src/main/SessionProcess.c:842,9'
          Dst:             MemoryConcat2B
        - Src:             'tpm/src/main/SessionProcess.c:851,20'
          Dst:             CryptHmacStart2B
        - Src:             'tpm/src/main/SessionProcess.c:855,26'
          Dst:             ComputeCpHash
        - Src:             'tpm/src/main/SessionProcess.c:854,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:857,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:858,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:860,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:862,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:865,19'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/main/SessionProcess.c:866,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/main/SessionProcess.c:868,5'
          Dst:             CryptHmacEnd2B
    - functionName:    ComputeCpHash
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 610
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - command
        - hashAlg
      BBCount:         10
      ICount:          89
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - EntityGetName
        - GetCpHashPointer
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:595,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:595,8'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - EntityGetName
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:597,53'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - EntityGetName
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/main/SessionProcess.c:601,9'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:603,48'
              BranchSideFuncs:
                - EntityGetName
                - CryptDigestUpdate2B
                - CryptDigestUpdate
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:606,25'
              BranchSideFuncs:
                - CryptDigestUpdate
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:594,14'
          Dst:             GetCpHashPointer
        - Src:             'tpm/src/main/SessionProcess.c:597,26'
          Dst:             CryptHashStart
        - Src:             'tpm/src/main/SessionProcess.c:599,9'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/main/SessionProcess.c:603,34'
          Dst:             EntityGetName
        - Src:             'tpm/src/main/SessionProcess.c:602,13'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:605,9'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/main/SessionProcess.c:608,9'
          Dst:             CryptHashEnd2B
    - functionName:    IncrementLockout
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - sessionIndex
      BBCount:         39
      ICount:          185
      EdgeCount:       50
      CyclomaticComplexity: 13
      functionsReached:
        - DARegisterFailure
        - IsDAExempted
        - NvWrite
        - SessionGet
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:117,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:119,25'
              BranchSideFuncs:
                - IsDAExempted
                - DARegisterFailure
                - NvWrite
                - TpmFail
                - NvWrite
            - BranchSide:      'tpm/src/main/SessionProcess.c:124,30'
              BranchSideFuncs:
                - SessionGet
                - DARegisterFailure
                - NvWrite
                - TpmFail
                - NvWrite
                - IsDAExempted
        - Branch String:   'tpm/src/main/SessionProcess.c:119,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:120,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:121,5'
              BranchSideFuncs:
                - DARegisterFailure
                - NvWrite
                - TpmFail
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:129,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:130,20'
              BranchSideFuncs:
                - DARegisterFailure
                - NvWrite
                - TpmFail
                - NvWrite
                - IsDAExempted
            - BranchSide:      'tpm/src/main/SessionProcess.c:131,12'
              BranchSideFuncs:
                - DARegisterFailure
                - NvWrite
                - TpmFail
                - NvWrite
                - IsDAExempted
        - Branch String:   'tpm/src/main/SessionProcess.c:132,37'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:132,40'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:135,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:137,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:139,9'
              BranchSideFuncs:
                - TpmFail
                - DARegisterFailure
                - NvWrite
            - BranchSide:      'tpm/src/main/SessionProcess.c:158,15'
              BranchSideFuncs:
                - DARegisterFailure
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:139,9'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:139,9'
              BranchSideFuncs:
                - DARegisterFailure
                - NvWrite
            - BranchSide:      'tpm/src/main/SessionProcess.c:142,31'
              BranchSideFuncs:
                - DARegisterFailure
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:146,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:148,16'
              BranchSideFuncs:
                - DARegisterFailure
                - NvWrite
            - BranchSide:      'tpm/src/main/SessionProcess.c:155,5'
              BranchSideFuncs:
                - DARegisterFailure
        - Branch String:   'tpm/src/main/SessionProcess.c:148,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:150,17'
              BranchSideFuncs:
                - NvWrite
                - DARegisterFailure
            - BranchSide:      'tpm/src/main/SessionProcess.c:153,33'
              BranchSideFuncs:
                - DARegisterFailure
        - Branch String:   'tpm/src/main/SessionProcess.c:161,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:163,17'
              BranchSideFuncs:
                - NvWrite
                - DARegisterFailure
            - BranchSide:      'tpm/src/main/SessionProcess.c:166,33'
              BranchSideFuncs:
                - DARegisterFailure
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:119,12'
          Dst:             IsDAExempted
        - Src:             'tpm/src/main/SessionProcess.c:124,19'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:132,16'
          Dst:             IsDAExempted
        - Src:             'tpm/src/main/SessionProcess.c:139,9'
          Dst:             TpmFail
        - Src:             'tpm/src/main/SessionProcess.c:150,17'
          Dst:             NvWrite
        - Src:             'tpm/src/main/SessionProcess.c:163,17'
          Dst:             NvWrite
        - Src:             'tpm/src/main/SessionProcess.c:170,5'
          Dst:             DARegisterFailure
    - functionName:    IsDAExempted
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         9
      ICount:          75
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - HandleGetType
        - NvGetIndexInfo
        - ObjectGetPublicAttributes
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:69,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:74,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:80,25'
              BranchSideFuncs:
                - ObjectGetPublicAttributes
            - BranchSide:      'tpm/src/main/SessionProcess.c:86,23'
              BranchSideFuncs:
                - NvGetIndexInfo
            - BranchSide:      'tpm/src/main/SessionProcess.c:92,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:95,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:69,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/main/SessionProcess.c:80,38'
          Dst:             ObjectGetPublicAttributes
        - Src:             'tpm/src/main/SessionProcess.c:86,33'
          Dst:             NvGetIndexInfo
    - functionName:    CompareTemplateHash
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 634
      functionLinenumberEnd: 671
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
        - session
      BBCount:         17
      ICount:          129
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - CryptHashBlock
        - MemoryEqual2B
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:641,39'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:641,42'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - UINT16_Unmarshal
                - CryptHashBlock
                - MemoryEqual2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:650,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - UINT16_Unmarshal
                - CryptHashBlock
                - MemoryEqual2B
        - Branch String:   'tpm/src/main/SessionProcess.c:643,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:643,11'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - UINT16_Unmarshal
                - CryptHashBlock
                - MemoryEqual2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:650,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - UINT16_Unmarshal
                - CryptHashBlock
                - MemoryEqual2B
        - Branch String:   'tpm/src/main/SessionProcess.c:641,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:646,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:650,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - UINT16_Unmarshal
                - CryptHashBlock
                - MemoryEqual2B
        - Branch String:   'tpm/src/main/SessionProcess.c:650,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:651,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:656,14'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - CryptHashBlock
                - MemoryEqual2B
        - Branch String:   'tpm/src/main/SessionProcess.c:662,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:663,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:665,8'
              BranchSideFuncs:
                - CryptHashBlock
                - MemoryEqual2B
        - Branch String:   'tpm/src/main/SessionProcess.c:665,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:666,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:669,9'
              BranchSideFuncs:
                - CryptHashBlock
                - MemoryEqual2B
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:650,8'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/main/SessionProcess.c:662,8'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/main/SessionProcess.c:668,20'
          Dst:             CryptHashBlock
        - Src:             'tpm/src/main/SessionProcess.c:670,13'
          Dst:             MemoryEqual2B
    - functionName:    CheckPWAuthSession
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 711
      functionLinenumberEnd: 731
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - sessionIndex
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EntityGetAuthValue
        - IncrementLockout
        - MemoryEqual2B
        - MemoryRemoveTrailingZeros
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:722,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:724,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:729,33'
              BranchSideFuncs:
                - IncrementLockout
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:716,5'
          Dst:             MemoryRemoveTrailingZeros
        - Src:             'tpm/src/main/SessionProcess.c:719,5'
          Dst:             EntityGetAuthValue
        - Src:             'tpm/src/main/SessionProcess.c:722,8'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/main/SessionProcess.c:729,16'
          Dst:             IncrementLockout
    - functionName:    CheckPolicyAuthSession
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 937
      functionLinenumberEnd: 1062
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - command
        - sessionIndex
      BBCount:         76
      ICount:          473
      EdgeCount:       105
      CyclomaticComplexity: 31
      functionsReached:
        - CommandAuthRole
        - CompareNameHash
        - CompareTemplateHash
        - ComputeCpHash
        - EntityGetAuthPolicy
        - HandleGetType
        - MemoryEqual2B
        - NvGetIndexInfo
        - SessionGet
        - SessionPCRValueIsCurrent
        - UINT8_Marshal
        - _plat__LocalityGet
        - _plat__PhysicalPresenceAsserted
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:949,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:949,11'
              BranchSideFuncs:
                - SessionPCRValueIsCurrent
                - EntityGetAuthPolicy
                - MemoryEqual2B
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:953,34'
              BranchSideFuncs:
                - SessionPCRValueIsCurrent
                - EntityGetAuthPolicy
                - MemoryEqual2B
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:950,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:950,11'
              BranchSideFuncs:
                - SessionPCRValueIsCurrent
                - EntityGetAuthPolicy
                - MemoryEqual2B
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:953,34'
              BranchSideFuncs:
                - SessionPCRValueIsCurrent
                - EntityGetAuthPolicy
                - MemoryEqual2B
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:948,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:951,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:953,34'
              BranchSideFuncs:
                - SessionPCRValueIsCurrent
                - EntityGetAuthPolicy
                - MemoryEqual2B
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:953,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:954,9'
              BranchSideFuncs:
                - EntityGetAuthPolicy
                - MemoryEqual2B
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:956,57'
              BranchSideFuncs:
                - EntityGetAuthPolicy
                - MemoryEqual2B
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:958,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:959,9'
              BranchSideFuncs:
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:963,8'
              BranchSideFuncs:
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:963,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:964,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:967,8'
              BranchSideFuncs:
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:967,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:973,9'
              BranchSideFuncs:
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:979,8'
              BranchSideFuncs:
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:973,9'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:973,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:975,13'
              BranchSideFuncs:
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:975,40'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:975,44'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:976,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:975,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:976,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:977,5'
              BranchSideFuncs:
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:979,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:981,12'
              BranchSideFuncs:
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:988,42'
              BranchSideFuncs:
                - CommandAuthRole
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:981,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:982,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:983,5'
              BranchSideFuncs:
                - UINT8_Marshal
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
                - _plat__LocalityGet
        - Branch String:   'tpm/src/main/SessionProcess.c:989,31'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:989,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:990,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:989,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:990,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1002,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1005,24'
              BranchSideFuncs:
                - _plat__LocalityGet
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
            - BranchSide:      'tpm/src/main/SessionProcess.c:1027,8'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
        - Branch String:   'tpm/src/main/SessionProcess.c:1006,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1008,22'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
            - BranchSide:      'tpm/src/main/SessionProcess.c:1012,21'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
        - Branch String:   'tpm/src/main/SessionProcess.c:1009,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1009,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1010,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1008,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1010,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1011,13'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
        - Branch String:   'tpm/src/main/SessionProcess.c:1012,21'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1014,20'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
            - BranchSide:      'tpm/src/main/SessionProcess.c:1022,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1014,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1015,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1016,13'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
                - _plat__PhysicalPresenceAsserted
        - Branch String:   'tpm/src/main/SessionProcess.c:1027,48'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1027,52'
              BranchSideFuncs:
                - _plat__PhysicalPresenceAsserted
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:1031,8'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
        - Branch String:   'tpm/src/main/SessionProcess.c:1027,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1028,9'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:1031,8'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - CompareNameHash
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
        - Branch String:   'tpm/src/main/SessionProcess.c:1031,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1034,12'
              BranchSideFuncs:
                - CompareNameHash
                - HandleGetType
                - NvGetIndexInfo
                - CompareTemplateHash
                - ComputeCpHash
                - MemoryEqual2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:1045,8'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
        - Branch String:   'tpm/src/main/SessionProcess.c:1034,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1036,33'
              BranchSideFuncs:
                - ComputeCpHash
                - MemoryEqual2B
                - HandleGetType
                - NvGetIndexInfo
            - BranchSide:      'tpm/src/main/SessionProcess.c:1038,17'
              BranchSideFuncs:
                - CompareNameHash
                - HandleGetType
                - NvGetIndexInfo
                - CompareTemplateHash
        - Branch String:   'tpm/src/main/SessionProcess.c:1038,17'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1039,38'
              BranchSideFuncs:
                - CompareTemplateHash
                - HandleGetType
                - NvGetIndexInfo
            - BranchSide:      'tpm/src/main/SessionProcess.c:1041,34'
              BranchSideFuncs:
                - CompareNameHash
                - HandleGetType
                - NvGetIndexInfo
        - Branch String:   'tpm/src/main/SessionProcess.c:1042,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1043,13'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
            - BranchSide:      'tpm/src/main/SessionProcess.c:1044,5'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
        - Branch String:   'tpm/src/main/SessionProcess.c:1045,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1051,46'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
            - BranchSide:      'tpm/src/main/SessionProcess.c:1061,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1051,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1052,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1054,54'
              BranchSideFuncs:
                - NvGetIndexInfo
        - Branch String:   'tpm/src/main/SessionProcess.c:1057,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1059,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1060,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:944,15'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:953,9'
          Dst:             SessionPCRValueIsCurrent
        - Src:             'tpm/src/main/SessionProcess.c:956,17'
          Dst:             EntityGetAuthPolicy
        - Src:             'tpm/src/main/SessionProcess.c:958,9'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/main/SessionProcess.c:988,26'
          Dst:             CommandAuthRole
        - Src:             'tpm/src/main/SessionProcess.c:999,9'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/main/SessionProcess.c:1005,24'
          Dst:             _plat__LocalityGet
        - Src:             'tpm/src/main/SessionProcess.c:1027,52'
          Dst:             _plat__PhysicalPresenceAsserted
        - Src:             'tpm/src/main/SessionProcess.c:1037,33'
          Dst:             ComputeCpHash
        - Src:             'tpm/src/main/SessionProcess.c:1036,18'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/main/SessionProcess.c:1039,18'
          Dst:             CompareTemplateHash
        - Src:             'tpm/src/main/SessionProcess.c:1041,18'
          Dst:             CompareNameHash
        - Src:             'tpm/src/main/SessionProcess.c:1051,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/main/SessionProcess.c:1054,19'
          Dst:             NvGetIndexInfo
    - functionName:    CompareNameHash
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 694
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
        - session
      BBCount:         7
      ICount:          70
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
        - EntityGetName
        - MemoryEqual
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:687,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:689,44'
              BranchSideFuncs:
                - EntityGetName
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - MemoryEqual
            - BranchSide:      'tpm/src/main/SessionProcess.c:691,5'
              BranchSideFuncs:
                - CryptHashEnd2B
                - MemoryEqual
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:685,23'
          Dst:             CryptHashStart
        - Src:             'tpm/src/main/SessionProcess.c:689,30'
          Dst:             EntityGetName
        - Src:             'tpm/src/main/SessionProcess.c:688,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/main/SessionProcess.c:691,5'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/main/SessionProcess.c:693,12'
          Dst:             MemoryEqual
    - functionName:    IsAuthPolicyAvailable
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - short
        - int
      constantsTouched: []
      argNames:
        - handle
        - commandIndex
        - sessionIndex
      BBCount:         59
      ICount:          254
      EdgeCount:       71
      CyclomaticComplexity: 14
      functionsReached:
        - HandleGetType
        - HandleToObject
        - IsPolicySessionRequired
        - IsWriteOperation
        - NvGetIndexInfo
        - ObjectIsSequence
        - PCRPolicyIsAvailable
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:417,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:420,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:456,45'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsSequence
            - BranchSide:      'tpm/src/main/SessionProcess.c:471,57'
              BranchSideFuncs:
                - NvGetIndexInfo
                - IsPolicySessionRequired
                - IsWriteOperation
            - BranchSide:      'tpm/src/main/SessionProcess.c:498,37'
              BranchSideFuncs:
                - PCRPolicyIsAvailable
            - BranchSide:      'tpm/src/main/SessionProcess.c:502,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:420,13'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:424,41'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:428,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:432,44'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:441,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:441,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:444,43'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:448,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:424,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:425,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:426,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:428,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:429,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:430,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:432,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:433,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:434,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:441,21'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:441,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:450,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:441,21'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:441,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:450,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:444,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:445,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:446,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:459,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:463,38'
              BranchSideFuncs:
                - ObjectIsSequence
            - BranchSide:      'tpm/src/main/SessionProcess.c:466,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:463,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:464,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:465,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:475,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:479,48'
              BranchSideFuncs:
                - IsPolicySessionRequired
                - IsWriteOperation
            - BranchSide:      'tpm/src/main/SessionProcess.c:495,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:479,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:480,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:483,46'
              BranchSideFuncs:
                - IsWriteOperation
        - Branch String:   'tpm/src/main/SessionProcess.c:483,29'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:485,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:490,28'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:485,28'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:486,36'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:487,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:498,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:499,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:500,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:417,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/main/SessionProcess.c:456,30'
          Dst:             HandleToObject
        - Src:             'tpm/src/main/SessionProcess.c:463,21'
          Dst:             ObjectIsSequence
        - Src:             'tpm/src/main/SessionProcess.c:471,42'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/main/SessionProcess.c:479,24'
          Dst:             IsPolicySessionRequired
        - Src:             'tpm/src/main/SessionProcess.c:483,29'
          Dst:             IsWriteOperation
        - Src:             'tpm/src/main/SessionProcess.c:498,16'
          Dst:             PCRPolicyIsAvailable
    - functionName:    IsPolicySessionRequired
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - commandIndex
        - sessionIndex
      BBCount:         21
      ICount:          130
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - CommandAuthRole
        - HandleGetType
        - HandleToObject
        - PCRGetAuthPolicy
        - PCRPolicyIsAvailable
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:228,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:229,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:230,8'
              BranchSideFuncs:
                - PCRPolicyIsAvailable
                - PCRGetAuthPolicy
                - HandleToObject
        - Branch String:   'tpm/src/main/SessionProcess.c:230,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:236,12'
              BranchSideFuncs:
                - HandleToObject
            - BranchSide:      'tpm/src/main/SessionProcess.c:247,8'
              BranchSideFuncs:
                - PCRPolicyIsAvailable
                - PCRGetAuthPolicy
        - Branch String:   'tpm/src/main/SessionProcess.c:236,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:238,65'
              BranchSideFuncs:
                - HandleToObject
            - BranchSide:      'tpm/src/main/SessionProcess.c:244,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:240,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:242,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:243,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:247,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:249,53'
              BranchSideFuncs:
                - PCRPolicyIsAvailable
                - PCRGetAuthPolicy
            - BranchSide:      'tpm/src/main/SessionProcess.c:258,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:249,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:253,62'
              BranchSideFuncs:
                - PCRGetAuthPolicy
            - BranchSide:      'tpm/src/main/SessionProcess.c:257,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:254,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:255,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:256,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:225,22'
          Dst:             CommandAuthRole
        - Src:             'tpm/src/main/SessionProcess.c:226,22'
          Dst:             HandleGetType
        - Src:             'tpm/src/main/SessionProcess.c:238,30'
          Dst:             HandleToObject
        - Src:             'tpm/src/main/SessionProcess.c:249,12'
          Dst:             PCRPolicyIsAvailable
        - Src:             'tpm/src/main/SessionProcess.c:253,25'
          Dst:             PCRGetAuthPolicy
    - functionName:    IsAuthValueAvailable
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - short
        - int
      constantsTouched: []
      argNames:
        - handle
        - commandIndex
        - sessionIndex
      BBCount:         56
      ICount:          265
      EdgeCount:       66
      CyclomaticComplexity: 12
      functionsReached:
        - CommandAuthRole
        - HandleGetType
        - HandleToObject
        - IsWriteOperation
        - NvGetIndexInfo
        - NvGetUINT64Data
        - ObjectIsSequence
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:283,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:286,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:325,45'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsSequence
                - CommandAuthRole
            - BranchSide:      'tpm/src/main/SessionProcess.c:353,52'
              BranchSideFuncs:
                - NvGetIndexInfo
                - TpmFail
                - IsWriteOperation
                - NvGetUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:391,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:395,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:286,13'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:305,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:305,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:305,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:305,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:305,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:310,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:310,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:315,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:332,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:334,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:341,20'
              BranchSideFuncs:
                - CommandAuthRole
        - Branch String:   'tpm/src/main/SessionProcess.c:342,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:342,24'
              BranchSideFuncs:
                - CommandAuthRole
            - BranchSide:      'tpm/src/main/SessionProcess.c:348,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:343,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:343,44'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:346,28'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:344,28'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:344,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:348,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:341,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:346,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:348,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:356,17'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:356,17'
              BranchSideFuncs:
                - IsWriteOperation
                - NvGetUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:358,32'
              BranchSideFuncs:
                - IsWriteOperation
                - NvGetUINT64Data
        - Branch String:   'tpm/src/main/SessionProcess.c:360,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:363,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:371,24'
              BranchSideFuncs:
                - NvGetUINT64Data
        - Branch String:   'tpm/src/main/SessionProcess.c:363,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:364,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:365,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:372,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:372,27'
              BranchSideFuncs:
                - NvGetUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:375,29'
              BranchSideFuncs:
                - NvGetUINT64Data
        - Branch String:   'tpm/src/main/SessionProcess.c:371,24'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:375,29'
              BranchSideFuncs:
                - NvGetUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:383,29'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:375,28'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:376,29'
              BranchSideFuncs:
                - NvGetUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:378,54'
              BranchSideFuncs:
                - NvGetUINT64Data
        - Branch String:   'tpm/src/main/SessionProcess.c:379,28'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:380,36'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:381,21'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:283,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/main/SessionProcess.c:325,30'
          Dst:             HandleToObject
        - Src:             'tpm/src/main/SessionProcess.c:332,20'
          Dst:             ObjectIsSequence
        - Src:             'tpm/src/main/SessionProcess.c:343,28'
          Dst:             CommandAuthRole
        - Src:             'tpm/src/main/SessionProcess.c:353,37'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/main/SessionProcess.c:356,17'
          Dst:             TpmFail
        - Src:             'tpm/src/main/SessionProcess.c:360,20'
          Dst:             IsWriteOperation
        - Src:             'tpm/src/main/SessionProcess.c:378,38'
          Dst:             NvGetUINT64Data
    - functionName:    IsSessionBindEntity
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - associatedHandle
        - session
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - MemoryEqual2B
        - SessionComputeBoundEntity
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:193,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:196,35'
              BranchSideFuncs:
                - SessionComputeBoundEntity
                - MemoryEqual2B
            - BranchSide:      'tpm/src/main/SessionProcess.c:201,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:196,9'
          Dst:             SessionComputeBoundEntity
        - Src:             'tpm/src/main/SessionProcess.c:199,16'
          Dst:             MemoryEqual2B
    - functionName:    SessionRemoveAssociationToHandle
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2139
      functionLinenumberEnd: 2149
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         8
      ICount:          46
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:2142,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2144,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:2149,1'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:2144,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2146,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:2148,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    BuildSingleResponseAuth
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1979
      functionLinenumberEnd: 1993
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
        - sessionIndex
        - auth
      BBCount:         9
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ComputeResponseHMAC
        - HandleGetType
        - SessionGet
        - UpdateInternalSession
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1986,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1986,11'
              BranchSideFuncs:
                - ComputeResponseHMAC
                - UpdateInternalSession
            - BranchSide:      'tpm/src/main/SessionProcess.c:1990,29'
              BranchSideFuncs:
                - ComputeResponseHMAC
                - UpdateInternalSession
        - Branch String:   'tpm/src/main/SessionProcess.c:1985,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1987,9'
              BranchSideFuncs:
                - UpdateInternalSession
            - BranchSide:      'tpm/src/main/SessionProcess.c:1990,29'
              BranchSideFuncs:
                - ComputeResponseHMAC
                - UpdateInternalSession
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1981,24'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:1985,8'
          Dst:             HandleGetType
        - Src:             'tpm/src/main/SessionProcess.c:1990,9'
          Dst:             ComputeResponseHMAC
        - Src:             'tpm/src/main/SessionProcess.c:1992,5'
          Dst:             UpdateInternalSession
    - functionName:    CommandAudit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1759
      functionLinenumberEnd: 1784
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptHashGetDigestSize
        - MemorySet
        - NvWrite
        - UpdateAuditDigest
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1766,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1768,38'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1773,32'
              BranchSideFuncs:
                - UpdateAuditDigest
                - CryptHashGetDigestSize
                - MemorySet
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:1773,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1775,66'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - MemorySet
                - NvWrite
                - UpdateAuditDigest
            - BranchSide:      'tpm/src/main/SessionProcess.c:1782,23'
              BranchSideFuncs:
                - UpdateAuditDigest
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1775,40'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/main/SessionProcess.c:1776,9'
          Dst:             MemorySet
        - Src:             'tpm/src/main/SessionProcess.c:1780,9'
          Dst:             NvWrite
        - Src:             'tpm/src/main/SessionProcess.c:1782,5'
          Dst:             UpdateAuditDigest
    - functionName:    UpdateAuditSessionStatus
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1797
      functionLinenumberEnd: 1854
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         29
      ICount:          173
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - Audit
        - InitAuditSession
        - IsSessionAllowed
        - SessionGet
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1802,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1808,29'
              BranchSideFuncs:
                - SessionGet
                - IsSessionAllowed
                - Audit
                - InitAuditSession
            - BranchSide:      'tpm/src/main/SessionProcess.c:1850,8'
              BranchSideFuncs:
                - IsSessionAllowed
        - Branch String:   'tpm/src/main/SessionProcess.c:1808,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1809,13'
              BranchSideFuncs:
                - IsSessionAllowed
                - SessionGet
                - Audit
                - InitAuditSession
            - BranchSide:      'tpm/src/main/SessionProcess.c:1810,47'
              BranchSideFuncs:
                - SessionGet
                - IsSessionAllowed
                - Audit
                - InitAuditSession
        - Branch String:   'tpm/src/main/SessionProcess.c:1813,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1816,45'
              BranchSideFuncs:
                - Audit
                - IsSessionAllowed
                - SessionGet
                - InitAuditSession
            - BranchSide:      'tpm/src/main/SessionProcess.c:1846,5'
              BranchSideFuncs:
                - IsSessionAllowed
                - SessionGet
                - Audit
                - InitAuditSession
        - Branch String:   'tpm/src/main/SessionProcess.c:1822,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1822,19'
              BranchSideFuncs:
                - InitAuditSession
                - Audit
                - IsSessionAllowed
                - SessionGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:1824,34'
              BranchSideFuncs:
                - InitAuditSession
                - Audit
                - IsSessionAllowed
                - SessionGet
        - Branch String:   'tpm/src/main/SessionProcess.c:1821,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1824,34'
              BranchSideFuncs:
                - InitAuditSession
                - Audit
                - IsSessionAllowed
                - SessionGet
            - BranchSide:      'tpm/src/main/SessionProcess.c:1831,20'
              BranchSideFuncs:
                - Audit
                - IsSessionAllowed
                - SessionGet
                - InitAuditSession
        - Branch String:   'tpm/src/main/SessionProcess.c:1835,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1837,17'
              BranchSideFuncs:
                - Audit
                - IsSessionAllowed
                - SessionGet
                - InitAuditSession
            - BranchSide:      'tpm/src/main/SessionProcess.c:1841,17'
              BranchSideFuncs:
                - Audit
                - IsSessionAllowed
                - SessionGet
                - InitAuditSession
        - Branch String:   'tpm/src/main/SessionProcess.c:1850,42'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1850,62'
              BranchSideFuncs:
                - IsSessionAllowed
            - BranchSide:      'tpm/src/main/SessionProcess.c:1850,42'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1850,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1850,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1852,33'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1810,19'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:1824,17'
          Dst:             InitAuditSession
        - Src:             'tpm/src/main/SessionProcess.c:1844,13'
          Dst:             Audit
        - Src:             'tpm/src/main/SessionProcess.c:1850,45'
          Dst:             IsSessionAllowed
    - functionName:    UpdateAllNonceTPM
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2000
      functionLinenumberEnd: 2014
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         10
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CryptRandomGenerate
        - SessionGet
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:2004,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2007,29'
              BranchSideFuncs:
                - SessionGet
                - CryptRandomGenerate
            - BranchSide:      'tpm/src/main/SessionProcess.c:2014,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:2007,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2009,51'
              BranchSideFuncs:
                - SessionGet
                - CryptRandomGenerate
            - BranchSide:      'tpm/src/main/SessionProcess.c:2013,5'
              BranchSideFuncs:
                - SessionGet
                - CryptRandomGenerate
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:2009,23'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:2011,13'
          Dst:             CryptRandomGenerate
    - functionName:    BuildResponseSession
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2029
      functionLinenumberEnd: 2131
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         39
      ICount:          280
      EdgeCount:       48
      CyclomaticComplexity: 11
      functionsReached:
        - BuildSingleResponseAuth
        - CommandAudit
        - CommandAuditIsRequired
        - CryptParameterEncryption
        - EncryptSize
        - EntityGetAuthValue
        - SessionFlush
        - TPM2B_DIGEST_Marshal
        - TpmFail
        - UINT8_Marshal
        - UpdateAllNonceTPM
        - UpdateAuditSessionStatus
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:2032,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2032,5'
              BranchSideFuncs:
                - UpdateAuditSessionStatus
                - CommandAuditIsRequired
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
                - CommandAudit
                - UpdateAllNonceTPM
                - EncryptSize
                - CryptParameterEncryption
                - EntityGetAuthValue
            - BranchSide:      'tpm/src/main/SessionProcess.c:2037,32'
              BranchSideFuncs:
                - UpdateAuditSessionStatus
                - CommandAuditIsRequired
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
                - CommandAudit
                - UpdateAllNonceTPM
                - EncryptSize
                - CryptParameterEncryption
                - EntityGetAuthValue
        - Branch String:   'tpm/src/main/SessionProcess.c:2040,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2042,27'
              BranchSideFuncs:
                - UpdateAllNonceTPM
                - UpdateAuditSessionStatus
                - CommandAuditIsRequired
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
                - CommandAudit
                - EncryptSize
                - CryptParameterEncryption
                - EntityGetAuthValue
            - BranchSide:      'tpm/src/main/SessionProcess.c:2085,30'
              BranchSideFuncs:
                - UpdateAuditSessionStatus
                - CommandAuditIsRequired
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
                - CommandAudit
        - Branch String:   'tpm/src/main/SessionProcess.c:2051,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2056,24'
              BranchSideFuncs:
                - EncryptSize
                - CryptParameterEncryption
                - UpdateAuditSessionStatus
                - CommandAuditIsRequired
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
                - CommandAudit
                - EntityGetAuthValue
            - BranchSide:      'tpm/src/main/SessionProcess.c:2082,5'
              BranchSideFuncs:
                - UpdateAuditSessionStatus
                - CommandAuditIsRequired
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
                - CommandAudit
        - Branch String:   'tpm/src/main/SessionProcess.c:2059,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2061,56'
              BranchSideFuncs:
                - EntityGetAuthValue
                - EncryptSize
                - CryptParameterEncryption
                - UpdateAuditSessionStatus
                - CommandAuditIsRequired
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
                - CommandAudit
            - BranchSide:      'tpm/src/main/SessionProcess.c:2064,32'
              BranchSideFuncs:
                - EncryptSize
                - CryptParameterEncryption
                - UpdateAuditSessionStatus
                - CommandAuditIsRequired
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
                - CommandAudit
        - Branch String:   'tpm/src/main/SessionProcess.c:2076,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2078,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:2081,9'
              BranchSideFuncs:
                - UpdateAuditSessionStatus
                - CommandAuditIsRequired
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
                - CommandAudit
        - Branch String:   'tpm/src/main/SessionProcess.c:2088,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2089,22'
              BranchSideFuncs:
                - CommandAudit
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
            - BranchSide:      'tpm/src/main/SessionProcess.c:2092,8'
              BranchSideFuncs:
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
        - Branch String:   'tpm/src/main/SessionProcess.c:2092,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2092,24'
              BranchSideFuncs:
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
            - BranchSide:      'tpm/src/main/SessionProcess.c:2096,9'
              BranchSideFuncs:
                - TpmFail
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
        - Branch String:   'tpm/src/main/SessionProcess.c:2096,9'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2096,9'
              BranchSideFuncs:
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
            - BranchSide:      'tpm/src/main/SessionProcess.c:2100,15'
              BranchSideFuncs:
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
        - Branch String:   'tpm/src/main/SessionProcess.c:2100,9'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2107,33'
              BranchSideFuncs:
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
            - BranchSide:      'tpm/src/main/SessionProcess.c:2128,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:2107,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2109,17'
              BranchSideFuncs:
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
                - BuildSingleResponseAuth
            - BranchSide:      'tpm/src/main/SessionProcess.c:2117,52'
              BranchSideFuncs:
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
        - Branch String:   'tpm/src/main/SessionProcess.c:2125,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:2126,47'
              BranchSideFuncs:
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
            - BranchSide:      'tpm/src/main/SessionProcess.c:2127,9'
              BranchSideFuncs:
                - BuildSingleResponseAuth
                - TPM2B_DIGEST_Marshal
                - UINT8_Marshal
                - TPM2B_DIGEST_Marshal
                - SessionFlush
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:2032,5'
          Dst:             TpmFail
        - Src:             'tpm/src/main/SessionProcess.c:2042,9'
          Dst:             UpdateAllNonceTPM
        - Src:             'tpm/src/main/SessionProcess.c:2061,17'
          Dst:             EntityGetAuthValue
        - Src:             'tpm/src/main/SessionProcess.c:2064,20'
          Dst:             EncryptSize
        - Src:             'tpm/src/main/SessionProcess.c:2070,13'
          Dst:             CryptParameterEncryption
        - Src:             'tpm/src/main/SessionProcess.c:2085,5'
          Dst:             UpdateAuditSessionStatus
        - Src:             'tpm/src/main/SessionProcess.c:2088,8'
          Dst:             CommandAuditIsRequired
        - Src:             'tpm/src/main/SessionProcess.c:2089,9'
          Dst:             CommandAudit
        - Src:             'tpm/src/main/SessionProcess.c:2096,9'
          Dst:             TpmFail
        - Src:             'tpm/src/main/SessionProcess.c:2117,28'
          Dst:             BuildSingleResponseAuth
        - Src:             'tpm/src/main/SessionProcess.c:2120,17'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/main/SessionProcess.c:2121,34'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/main/SessionProcess.c:2124,17'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/main/SessionProcess.c:2126,17'
          Dst:             SessionFlush
    - functionName:    CheckAuthNoSession
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1636
      functionLinenumberEnd: 1661
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         15
      ICount:          84
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - CheckCommandAudit
        - CommandAuditIsRequired
        - CommandAuthRole
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1643,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1645,28'
              BranchSideFuncs:
                - CommandAuthRole
                - CommandAuditIsRequired
                - CheckCommandAudit
            - BranchSide:      'tpm/src/main/SessionProcess.c:1650,31'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - CheckCommandAudit
        - Branch String:   'tpm/src/main/SessionProcess.c:1645,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1646,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1647,5'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - CheckCommandAudit
                - CommandAuthRole
        - Branch String:   'tpm/src/main/SessionProcess.c:1650,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1652,36'
              BranchSideFuncs:
                - CheckCommandAudit
            - BranchSide:      'tpm/src/main/SessionProcess.c:1658,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1653,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1654,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1655,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1645,12'
          Dst:             CommandAuthRole
        - Src:             'tpm/src/main/SessionProcess.c:1650,8'
          Dst:             CommandAuditIsRequired
        - Src:             'tpm/src/main/SessionProcess.c:1652,18'
          Dst:             CheckCommandAudit
    - functionName:    CheckCommandAudit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1450
      functionLinenumberEnd: 1463
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         12
      ICount:          59
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ComputeCpHash
        - GetCommandCode
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1456,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1456,26'
              BranchSideFuncs:
                - ComputeCpHash
            - BranchSide:      'tpm/src/main/SessionProcess.c:1458,9'
              BranchSideFuncs:
                - ComputeCpHash
        - Branch String:   'tpm/src/main/SessionProcess.c:1455,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1458,9'
              BranchSideFuncs:
                - ComputeCpHash
            - BranchSide:      'tpm/src/main/SessionProcess.c:1461,19'
              BranchSideFuncs:
                - ComputeCpHash
        - Branch String:   'tpm/src/main/SessionProcess.c:1458,9'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1458,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1459,5'
              BranchSideFuncs:
                - ComputeCpHash
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1456,11'
          Dst:             GetCommandCode
        - Src:             'tpm/src/main/SessionProcess.c:1461,5'
          Dst:             ComputeCpHash
    - functionName:    CheckSessionHMAC
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 892
      functionLinenumberEnd: 907
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - command
        - sessionIndex
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ComputeCommandHMAC
        - IncrementLockout
        - MemoryEqual2B
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:899,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:904,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:906,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:896,5'
          Dst:             ComputeCommandHMAC
        - Src:             'tpm/src/main/SessionProcess.c:899,9'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/main/SessionProcess.c:904,16'
          Dst:             IncrementLockout
    - functionName:    CheckAuthSession
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1439
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - command
        - sessionIndex
      BBCount:         75
      ICount:          452
      EdgeCount:       99
      CyclomaticComplexity: 26
      functionsReached:
        - CheckLockedOut
        - CheckPWAuthSession
        - CheckPolicyAuthSession
        - CheckSessionHMAC
        - HandleGetType
        - IsAuthPolicyAvailable
        - IsAuthValueAvailable
        - IsDAExempted
        - IsPolicySessionRequired
        - IsSessionBindEntity
        - NvGetIndexInfo
        - NvGetUINT64Data
        - NvWriteUINT64Data
        - PhysicalPresenceIsRequired
        - SessionGet
        - TpmFail
        - _plat__PhysicalPresenceAsserted
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1320,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1320,5'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
                - SessionGet
                - IsSessionBindEntity
                - PhysicalPresenceIsRequired
                - _plat__PhysicalPresenceAsserted
            - BranchSide:      'tpm/src/main/SessionProcess.c:1323,8'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
                - SessionGet
                - IsSessionBindEntity
                - PhysicalPresenceIsRequired
                - _plat__PhysicalPresenceAsserted
        - Branch String:   'tpm/src/main/SessionProcess.c:1323,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1327,39'
              BranchSideFuncs:
                - PhysicalPresenceIsRequired
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
                - SessionGet
                - IsSessionBindEntity
                - _plat__PhysicalPresenceAsserted
            - BranchSide:      'tpm/src/main/SessionProcess.c:1331,8'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
                - SessionGet
                - IsSessionBindEntity
        - Branch String:   'tpm/src/main/SessionProcess.c:1328,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1328,16'
              BranchSideFuncs:
                - _plat__PhysicalPresenceAsserted
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
                - SessionGet
                - IsSessionBindEntity
            - BranchSide:      'tpm/src/main/SessionProcess.c:1330,5'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
                - SessionGet
                - IsSessionBindEntity
        - Branch String:   'tpm/src/main/SessionProcess.c:1327,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1329,13'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
                - SessionGet
                - IsSessionBindEntity
            - BranchSide:      'tpm/src/main/SessionProcess.c:1330,5'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
                - SessionGet
                - IsSessionBindEntity
        - Branch String:   'tpm/src/main/SessionProcess.c:1331,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1333,30'
              BranchSideFuncs:
                - SessionGet
                - IsSessionBindEntity
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
            - BranchSide:      'tpm/src/main/SessionProcess.c:1355,18'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
        - Branch String:   'tpm/src/main/SessionProcess.c:1337,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1341,47'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
            - BranchSide:      'tpm/src/main/SessionProcess.c:1349,58'
              BranchSideFuncs:
                - IsSessionBindEntity
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
        - Branch String:   'tpm/src/main/SessionProcess.c:1342,47'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1342,50'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
            - BranchSide:      'tpm/src/main/SessionProcess.c:1351,20'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - IsDAExempted
                - CheckLockedOut
        - Branch String:   'tpm/src/main/SessionProcess.c:1358,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1361,26'
              BranchSideFuncs:
                - IsDAExempted
                - CheckLockedOut
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
            - BranchSide:      'tpm/src/main/SessionProcess.c:1370,8'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
        - Branch String:   'tpm/src/main/SessionProcess.c:1361,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1364,37'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
            - BranchSide:      'tpm/src/main/SessionProcess.c:1368,5'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
        - Branch String:   'tpm/src/main/SessionProcess.c:1365,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1366,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1367,9'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
                - IsPolicySessionRequired
                - IsAuthValueAvailable
        - Branch String:   'tpm/src/main/SessionProcess.c:1370,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1373,36'
              BranchSideFuncs:
                - IsPolicySessionRequired
                - IsAuthValueAvailable
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
            - BranchSide:      'tpm/src/main/SessionProcess.c:1386,35'
              BranchSideFuncs:
                - IsAuthPolicyAvailable
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
        - Branch String:   'tpm/src/main/SessionProcess.c:1373,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1374,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1378,34'
              BranchSideFuncs:
                - IsAuthValueAvailable
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
        - Branch String:   'tpm/src/main/SessionProcess.c:1378,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1379,13'
              BranchSideFuncs:
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
            - BranchSide:      'tpm/src/main/SessionProcess.c:1380,5'
              BranchSideFuncs:
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
        - Branch String:   'tpm/src/main/SessionProcess.c:1386,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1387,13'
              BranchSideFuncs:
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
            - BranchSide:      'tpm/src/main/SessionProcess.c:1389,41'
              BranchSideFuncs:
                - CheckPolicyAuthSession
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - CheckPWAuthSession
        - Branch String:   'tpm/src/main/SessionProcess.c:1390,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1391,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1394,37'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1394,41'
              BranchSideFuncs:
                - CheckPWAuthSession
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:1395,37'
              BranchSideFuncs:
                - CheckPWAuthSession
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
        - Branch String:   'tpm/src/main/SessionProcess.c:1394,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1395,37'
              BranchSideFuncs:
                - CheckPWAuthSession
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:1397,35'
              BranchSideFuncs:
                - CheckSessionHMAC
                - HandleGetType
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
        - Branch String:   'tpm/src/main/SessionProcess.c:1402,61'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1402,64'
              BranchSideFuncs:
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:1438,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1402,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1405,44'
              BranchSideFuncs:
                - NvGetIndexInfo
                - TpmFail
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:1438,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1409,9'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1409,9'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:1410,24'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
        - Branch String:   'tpm/src/main/SessionProcess.c:1414,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1414,15'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvWriteUINT64Data
                - NvGetUINT64Data
                - NvWriteUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:1428,17'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvWriteUINT64Data
        - Branch String:   'tpm/src/main/SessionProcess.c:1413,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1416,46'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvWriteUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:1428,17'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvWriteUINT64Data
        - Branch String:   'tpm/src/main/SessionProcess.c:1417,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1418,29'
              BranchSideFuncs:
                - NvWriteUINT64Data
            - BranchSide:      'tpm/src/main/SessionProcess.c:1420,29'
              BranchSideFuncs:
                - NvWriteUINT64Data
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1317,36'
          Dst:             HandleGetType
        - Src:             'tpm/src/main/SessionProcess.c:1320,5'
          Dst:             TpmFail
        - Src:             'tpm/src/main/SessionProcess.c:1327,12'
          Dst:             PhysicalPresenceIsRequired
        - Src:             'tpm/src/main/SessionProcess.c:1328,16'
          Dst:             _plat__PhysicalPresenceAsserted
        - Src:             'tpm/src/main/SessionProcess.c:1333,19'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:1349,18'
          Dst:             IsSessionBindEntity
        - Src:             'tpm/src/main/SessionProcess.c:1361,13'
          Dst:             IsDAExempted
        - Src:             'tpm/src/main/SessionProcess.c:1364,22'
          Dst:             CheckLockedOut
        - Src:             'tpm/src/main/SessionProcess.c:1373,12'
          Dst:             IsPolicySessionRequired
        - Src:             'tpm/src/main/SessionProcess.c:1378,13'
          Dst:             IsAuthValueAvailable
        - Src:             'tpm/src/main/SessionProcess.c:1386,13'
          Dst:             IsAuthPolicyAvailable
        - Src:             'tpm/src/main/SessionProcess.c:1389,18'
          Dst:             CheckPolicyAuthSession
        - Src:             'tpm/src/main/SessionProcess.c:1395,18'
          Dst:             CheckPWAuthSession
        - Src:             'tpm/src/main/SessionProcess.c:1397,18'
          Dst:             CheckSessionHMAC
        - Src:             'tpm/src/main/SessionProcess.c:1402,28'
          Dst:             HandleGetType
        - Src:             'tpm/src/main/SessionProcess.c:1405,29'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/main/SessionProcess.c:1409,9'
          Dst:             TpmFail
        - Src:             'tpm/src/main/SessionProcess.c:1416,30'
          Dst:             NvGetUINT64Data
        - Src:             'tpm/src/main/SessionProcess.c:1421,13'
          Dst:             NvWriteUINT64Data
        - Src:             'tpm/src/main/SessionProcess.c:1433,30'
          Dst:             NvGetUINT64Data
        - Src:             'tpm/src/main/SessionProcess.c:1435,13'
          Dst:             NvWriteUINT64Data
    - functionName:    CheckLockedOut
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1242
      functionLinenumberEnd: 1285
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - lockoutAuthCheck
      BBCount:         25
      ICount:          119
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - NvWrite
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1246,25'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1246,28'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/main/SessionProcess.c:1249,8'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:1246,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1247,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1249,8'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:1249,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1252,9'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/main/SessionProcess.c:1261,8'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:1252,9'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1252,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1255,9'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:1261,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1263,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1269,15'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:1263,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1264,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1265,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1269,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1270,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1274,13'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:1274,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1276,13'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/main/SessionProcess.c:1276,13'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1276,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1277,29'
              BranchSideFuncs:
                - NvWrite
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1255,9'
          Dst:             NvWrite
        - Src:             'tpm/src/main/SessionProcess.c:1256,9'
          Dst:             NvWrite
        - Src:             'tpm/src/main/SessionProcess.c:1279,13'
          Dst:             NvWrite
    - functionName:    RetrieveSessionData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1077
      functionLinenumberEnd: 1227
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         87
      ICount:          583
      EdgeCount:       122
      CyclomaticComplexity: 37
      functionsReached:
        - DecryptSize
        - EncryptSize
        - HandleGetType
        - SessionGet
        - SessionIsLoaded
        - TPM2B_DIGEST_Unmarshal
        - TPMA_SESSION_Unmarshal
        - TPMI_SH_AUTH_SESSION_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1090,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1092,43'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1225,27'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1097,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1098,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1101,29'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1108,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1109,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1111,18'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1114,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1115,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1117,55'
              BranchSideFuncs:
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1120,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1121,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1123,18'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1126,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1127,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1129,42'
              BranchSideFuncs:
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1130,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1134,16'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1147,46'
              BranchSideFuncs:
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1135,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1135,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1139,45'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1136,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1136,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1139,45'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1137,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1137,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1139,45'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1138,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1138,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1139,45'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1134,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1139,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1141,30'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1141,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1142,40'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1143,13'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1147,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1148,42'
              BranchSideFuncs:
                - HandleGetType
                - SessionGet
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - EncryptSize
                - DecryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1149,54'
              BranchSideFuncs:
                - HandleGetType
                - SessionGet
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1153,49'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1153,52'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1154,16'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1154,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1154,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1156,37'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1155,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1155,19'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1158,15'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1153,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1156,37'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1158,15'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1158,9'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1160,33'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1167,12'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1160,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1161,41'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1162,9'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1167,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1170,28'
              BranchSideFuncs:
                - DecryptSize
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1183,12'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - DecryptSize
                - HandleGetType
                - EncryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1170,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1171,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1173,16'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - DecryptSize
                - HandleGetType
                - EncryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1173,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1174,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1176,16'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - DecryptSize
                - HandleGetType
                - EncryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1176,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1177,44'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1180,37'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - DecryptSize
                - HandleGetType
                - EncryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1183,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1186,28'
              BranchSideFuncs:
                - EncryptSize
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - DecryptSize
                - HandleGetType
            - BranchSide:      'tpm/src/main/SessionProcess.c:1199,12'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - EncryptSize
                - DecryptSize
                - HandleGetType
        - Branch String:   'tpm/src/main/SessionProcess.c:1186,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1187,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1189,16'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - EncryptSize
                - DecryptSize
                - HandleGetType
        - Branch String:   'tpm/src/main/SessionProcess.c:1189,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1190,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1192,16'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - EncryptSize
                - DecryptSize
                - HandleGetType
        - Branch String:   'tpm/src/main/SessionProcess.c:1192,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1193,44'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1196,37'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - EncryptSize
                - DecryptSize
                - HandleGetType
        - Branch String:   'tpm/src/main/SessionProcess.c:1199,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1202,16'
              BranchSideFuncs:
                - HandleGetType
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - EncryptSize
                - DecryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1223,29'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1202,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1203,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1205,47'
              BranchSideFuncs:
                - HandleGetType
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1205,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1206,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1210,17'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1211,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1211,19'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1219,35'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1210,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1215,20'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1219,35'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1216,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1216,23'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
            - BranchSide:      'tpm/src/main/SessionProcess.c:1218,13'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
        - Branch String:   'tpm/src/main/SessionProcess.c:1215,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1217,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1218,13'
              BranchSideFuncs:
                - TPMI_SH_AUTH_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - SessionIsLoaded
                - HandleGetType
                - SessionGet
                - HandleGetType
                - EncryptSize
                - DecryptSize
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1104,18'
          Dst:             TPMI_SH_AUTH_SESSION_Unmarshal
        - Src:             'tpm/src/main/SessionProcess.c:1111,18'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/main/SessionProcess.c:1117,18'
          Dst:             TPMA_SESSION_Unmarshal
        - Src:             'tpm/src/main/SessionProcess.c:1123,18'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/main/SessionProcess.c:1147,13'
          Dst:             SessionIsLoaded
        - Src:             'tpm/src/main/SessionProcess.c:1149,23'
          Dst:             HandleGetType
        - Src:             'tpm/src/main/SessionProcess.c:1150,23'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:1170,16'
          Dst:             DecryptSize
        - Src:             'tpm/src/main/SessionProcess.c:1186,16'
          Dst:             EncryptSize
        - Src:             'tpm/src/main/SessionProcess.c:1205,16'
          Dst:             HandleGetType
    - functionName:    ParseSessionBuffer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1478
      functionLinenumberEnd: 1624
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         78
      ICount:          517
      EdgeCount:       104
      CyclomaticComplexity: 28
      functionsReached:
        - CheckAuthSession
        - CheckCommandAudit
        - CheckLockedOut
        - CheckSessionHMAC
        - CommandAuditIsRequired
        - CommandAuthRole
        - ComputeCpHash
        - CryptParameterDecryption
        - DecryptSize
        - EntityGetAuthValue
        - IsSessionAllowed
        - RcSafeAddToResult
        - RetrieveSessionData
        - SessionGet
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/SessionProcess.c:1488,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1489,9'
              BranchSideFuncs:
                - RetrieveSessionData
                - TpmFail
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - CommandAuthRole
            - BranchSide:      'tpm/src/main/SessionProcess.c:1491,5'
              BranchSideFuncs:
                - RetrieveSessionData
                - TpmFail
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - CommandAuthRole
        - Branch String:   'tpm/src/main/SessionProcess.c:1494,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1495,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1498,5'
              BranchSideFuncs:
                - TpmFail
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - CommandAuthRole
        - Branch String:   'tpm/src/main/SessionProcess.c:1498,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1498,5'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - CommandAuthRole
            - BranchSide:      'tpm/src/main/SessionProcess.c:1501,11'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - CommandAuthRole
        - Branch String:   'tpm/src/main/SessionProcess.c:1501,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1503,28'
              BranchSideFuncs:
                - CommandAuthRole
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
            - BranchSide:      'tpm/src/main/SessionProcess.c:1518,22'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
        - Branch String:   'tpm/src/main/SessionProcess.c:1503,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1510,16'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - CommandAuthRole
            - BranchSide:      'tpm/src/main/SessionProcess.c:1515,5'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - CommandAuthRole
        - Branch String:   'tpm/src/main/SessionProcess.c:1510,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1511,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1513,38'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - CommandAuthRole
        - Branch String:   'tpm/src/main/SessionProcess.c:1518,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1520,43'
              BranchSideFuncs:
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
            - BranchSide:      'tpm/src/main/SessionProcess.c:1586,31'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
        - Branch String:   'tpm/src/main/SessionProcess.c:1522,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1524,36'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/main/SessionProcess.c:1535,51'
              BranchSideFuncs:
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
        - Branch String:   'tpm/src/main/SessionProcess.c:1524,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1525,41'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1527,16'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
        - Branch String:   'tpm/src/main/SessionProcess.c:1528,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1528,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1530,45'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1529,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1529,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1530,45'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1527,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1530,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1531,21'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
        - Branch String:   'tpm/src/main/SessionProcess.c:1539,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1540,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1546,16'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
        - Branch String:   'tpm/src/main/SessionProcess.c:1546,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1548,41'
              BranchSideFuncs:
                - CheckLockedOut
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
            - BranchSide:      'tpm/src/main/SessionProcess.c:1553,16'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - CheckLockedOut
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
        - Branch String:   'tpm/src/main/SessionProcess.c:1549,20'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1550,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1551,13'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - CheckLockedOut
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
        - Branch String:   'tpm/src/main/SessionProcess.c:1558,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1560,39'
              BranchSideFuncs:
                - CheckAuthSession
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/main/SessionProcess.c:1568,17'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
        - Branch String:   'tpm/src/main/SessionProcess.c:1561,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1562,42'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/main/SessionProcess.c:1563,9'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckSessionHMAC
                - RcSafeAddToResult
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
        - Branch String:   'tpm/src/main/SessionProcess.c:1569,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1569,20'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/main/SessionProcess.c:1574,13'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
        - Branch String:   'tpm/src/main/SessionProcess.c:1570,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1570,20'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/main/SessionProcess.c:1574,13'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
        - Branch String:   'tpm/src/main/SessionProcess.c:1568,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1571,45'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/main/SessionProcess.c:1574,13'
              BranchSideFuncs:
                - TpmFail
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
        - Branch String:   'tpm/src/main/SessionProcess.c:1574,13'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1574,13'
              BranchSideFuncs:
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/main/SessionProcess.c:1575,13'
              BranchSideFuncs:
                - CheckSessionHMAC
                - CommandAuditIsRequired
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
                - CheckCommandAudit
                - SessionGet
                - TpmFail
                - CheckAuthSession
                - RcSafeAddToResult
                - ComputeCpHash
                - CheckLockedOut
                - RcSafeAddToResult
        - Branch String:   'tpm/src/main/SessionProcess.c:1579,16'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:0,0'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/main/SessionProcess.c:1580,42'
              BranchSideFuncs:
                - RcSafeAddToResult
        - Branch String:   'tpm/src/main/SessionProcess.c:1586,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1588,36'
              BranchSideFuncs:
                - CheckCommandAudit
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
            - BranchSide:      'tpm/src/main/SessionProcess.c:1599,8'
              BranchSideFuncs:
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
        - Branch String:   'tpm/src/main/SessionProcess.c:1589,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1590,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/SessionProcess.c:1591,5'
              BranchSideFuncs:
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
        - Branch String:   'tpm/src/main/SessionProcess.c:1599,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1603,32'
              BranchSideFuncs:
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
                - EntityGetAuthValue
            - BranchSide:      'tpm/src/main/SessionProcess.c:1623,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/SessionProcess.c:1603,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1605,52'
              BranchSideFuncs:
                - EntityGetAuthValue
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/main/SessionProcess.c:1609,24'
              BranchSideFuncs:
                - DecryptSize
                - CryptParameterDecryption
                - RcSafeAddToResult
        - Branch String:   'tpm/src/main/SessionProcess.c:1618,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/SessionProcess.c:1619,38'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/main/SessionProcess.c:1621,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/SessionProcess.c:1488,9'
          Dst:             IsSessionAllowed
        - Src:             'tpm/src/main/SessionProcess.c:1493,27'
          Dst:             RetrieveSessionData
        - Src:             'tpm/src/main/SessionProcess.c:1498,5'
          Dst:             TpmFail
        - Src:             'tpm/src/main/SessionProcess.c:1503,12'
          Dst:             CommandAuthRole
        - Src:             'tpm/src/main/SessionProcess.c:1535,23'
          Dst:             SessionGet
        - Src:             'tpm/src/main/SessionProcess.c:1548,26'
          Dst:             CheckLockedOut
        - Src:             'tpm/src/main/SessionProcess.c:1554,17'
          Dst:             ComputeCpHash
        - Src:             'tpm/src/main/SessionProcess.c:1560,22'
          Dst:             CheckAuthSession
        - Src:             'tpm/src/main/SessionProcess.c:1562,24'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/main/SessionProcess.c:1574,13'
          Dst:             TpmFail
        - Src:             'tpm/src/main/SessionProcess.c:1578,22'
          Dst:             CheckSessionHMAC
        - Src:             'tpm/src/main/SessionProcess.c:1580,24'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/main/SessionProcess.c:1586,8'
          Dst:             CommandAuditIsRequired
        - Src:             'tpm/src/main/SessionProcess.c:1588,18'
          Dst:             CheckCommandAudit
        - Src:             'tpm/src/main/SessionProcess.c:1605,13'
          Dst:             EntityGetAuthValue
        - Src:             'tpm/src/main/SessionProcess.c:1611,18'
          Dst:             DecryptSize
        - Src:             'tpm/src/main/SessionProcess.c:1612,18'
          Dst:             CryptParameterDecryption
        - Src:             'tpm/src/main/SessionProcess.c:1619,20'
          Dst:             RcSafeAddToResult
    - functionName:    ClearCpRpHashes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 520
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         1
      ICount:          31
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CommandAuditGetDigest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - digest
      BBCount:         10
      ICount:          64
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CommandAuditIsRequired
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - GetCommandCode
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:242,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:244,35'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - CryptHashEnd2B
                - GetCommandCode
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:252,33'
              BranchSideFuncs:
                - CryptHashEnd2B
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:244,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:246,42'
              BranchSideFuncs:
                - GetCommandCode
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CommandAuditIsRequired
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:249,5'
              BranchSideFuncs:
                - CryptHashEnd2B
                - CommandAuditIsRequired
                - GetCommandCode
                - CryptDigestUpdateInt
      Callsites:
        - Src:             'tpm/src/subsystem/CommandAudit.c:239,22'
          Dst:             CryptHashStart
        - Src:             'tpm/src/subsystem/CommandAudit.c:244,12'
          Dst:             CommandAuditIsRequired
        - Src:             'tpm/src/subsystem/CommandAudit.c:246,27'
          Dst:             GetCommandCode
        - Src:             'tpm/src/subsystem/CommandAudit.c:247,13'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/subsystem/CommandAudit.c:252,5'
          Dst:             CryptHashEnd2B
    - functionName:    CommandAuditIsRequired
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TestBit
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/CommandAudit.c:167,13'
          Dst:             TestBit
    - functionName:    CommandAuditCapGetCCList
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - commandCode
        - count
        - commandList
      BBCount:         20
      ICount:          132
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - CommandAuditIsRequired
        - GetClosestCommandIndex
        - GetNextCommandIndex
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:190,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:191,15'
              BranchSideFuncs:
                - GetClosestCommandIndex
                - CommandAuditIsRequired
                - GetNextCommandIndex
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:196,47'
              BranchSideFuncs:
                - GetClosestCommandIndex
                - CommandAuditIsRequired
                - GetNextCommandIndex
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:196,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:196,5'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - GetNextCommandIndex
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:200,35'
              BranchSideFuncs:
                - CommandAuditIsRequired
                - GetNextCommandIndex
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:200,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:202,16'
              BranchSideFuncs:
                - GetNextCommandIndex
                - CommandAuditIsRequired
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:221,5'
              BranchSideFuncs:
                - GetNextCommandIndex
                - CommandAuditIsRequired
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:202,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:207,21'
              BranchSideFuncs:
                - GetNextCommandIndex
                - CommandAuditIsRequired
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:217,22'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:208,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:209,24'
              BranchSideFuncs:
                - GetNextCommandIndex
                - CommandAuditIsRequired
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:210,65'
              BranchSideFuncs:
                - GetNextCommandIndex
                - CommandAuditIsRequired
      Callsites:
        - Src:             'tpm/src/subsystem/CommandAudit.c:196,24'
          Dst:             GetClosestCommandIndex
        - Src:             'tpm/src/subsystem/CommandAudit.c:200,12'
          Dst:             CommandAuditIsRequired
        - Src:             'tpm/src/subsystem/CommandAudit.c:198,24'
          Dst:             GetNextCommandIndex
    - functionName:    CommandAuditClear
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - commandCode
      BBCount:         12
      ICount:          59
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ClearBit
        - CommandCodeToCommandIndex
        - TestBit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:140,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:144,12'
              BranchSideFuncs:
                - TestBit
                - ClearBit
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:155,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:144,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:146,16'
              BranchSideFuncs:
                - TestBit
                - ClearBit
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:153,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:146,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:149,17'
              BranchSideFuncs:
                - ClearBit
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:152,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/CommandAudit.c:137,34'
          Dst:             CommandCodeToCommandIndex
        - Src:             'tpm/src/subsystem/CommandAudit.c:146,16'
          Dst:             TestBit
        - Src:             'tpm/src/subsystem/CommandAudit.c:149,17'
          Dst:             ClearBit
    - functionName:    CommandAuditStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - type
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:79,29'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:79,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:79,29'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:79,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:79,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:82,38'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CommandAuditSet
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - commandCode
      BBCount:         12
      ICount:          59
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CommandCodeToCommandIndex
        - SetBit
        - TestBit
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:106,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:109,12'
              BranchSideFuncs:
                - TestBit
                - SetBit
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:120,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:109,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:111,17'
              BranchSideFuncs:
                - TestBit
                - SetBit
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:118,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:111,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:114,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:117,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/CommandAudit.c:103,34'
          Dst:             CommandCodeToCommandIndex
        - Src:             'tpm/src/subsystem/CommandAudit.c:111,17'
          Dst:             TestBit
        - Src:             'tpm/src/subsystem/CommandAudit.c:114,17'
          Dst:             SetBit
    - functionName:    CommandAuditPreInstall_Init
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CommandAuditSet
        - MemorySet
        - NvWrite
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/CommandAudit.c:54,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:54,5'
              BranchSideFuncs:
                - MemorySet
                - CommandAuditSet
                - NvWrite
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/CommandAudit.c:54,5'
              BranchSideFuncs:
                - MemorySet
                - CommandAuditSet
                - NvWrite
                - NvWrite
                - NvWrite
      Callsites:
        - Src:             'tpm/src/subsystem/CommandAudit.c:54,5'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/CommandAudit.c:57,5'
          Dst:             CommandAuditSet
        - Src:             'tpm/src/subsystem/CommandAudit.c:67,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/CommandAudit.c:68,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/CommandAudit.c:69,5'
          Dst:             NvWrite
    - functionName:    DASelfHeal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/DA.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         24
      ICount:          119
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - NvWrite
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/DA.c:163,11'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:163,11'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:163,11'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/subsystem/DA.c:163,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:167,15'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:208,12'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/subsystem/DA.c:167,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:169,28'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:188,19'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/subsystem/DA.c:190,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:192,32'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:194,43'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/subsystem/DA.c:208,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:208,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/DA.c:213,15'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/subsystem/DA.c:213,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:215,18'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:222,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/DA.c:215,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:217,39'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:221,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/DA.c:171,13'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/DA.c:201,17'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/DA.c:219,17'
          Dst:             NvWrite
    - functionName:    DARegisterFailure
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/DA.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/DA.c:146,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:147,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/DA.c:149,27'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    DAStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/DA.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - type
      BBCount:         19
      ICount:          99
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - NvWrite
        - TimeUpdate
        - _plat__TimerWasReset
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/DA.c:87,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:89,13'
              BranchSideFuncs:
                - TimeUpdate
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:109,11'
              BranchSideFuncs:
                - TimeUpdate
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/subsystem/DA.c:89,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:94,29'
              BranchSideFuncs:
                - TimeUpdate
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:102,35'
              BranchSideFuncs:
                - TimeUpdate
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/subsystem/DA.c:109,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:111,31'
              BranchSideFuncs:
                - NvWrite
                - TimeUpdate
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:118,11'
              BranchSideFuncs:
                - TimeUpdate
                - NvWrite
        - Branch String:   'tpm/src/subsystem/DA.c:118,29'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:118,35'
              BranchSideFuncs:
                - TimeUpdate
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:118,29'
              BranchSideFuncs:
                - TimeUpdate
        - Branch String:   'tpm/src/subsystem/DA.c:119,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:119,12'
              BranchSideFuncs:
                - NvWrite
                - TimeUpdate
            - BranchSide:      'tpm/src/subsystem/DA.c:119,8'
              BranchSideFuncs:
                - TimeUpdate
        - Branch String:   'tpm/src/subsystem/DA.c:118,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:118,8'
              BranchSideFuncs:
                - TimeUpdate
            - BranchSide:      'tpm/src/subsystem/DA.c:122,27'
              BranchSideFuncs:
                - NvWrite
                - TimeUpdate
      Callsites:
        - Src:             'tpm/src/subsystem/DA.c:87,8'
          Dst:             _plat__TimerWasReset
        - Src:             'tpm/src/subsystem/DA.c:113,9'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/DA.c:128,9'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/DA.c:132,5'
          Dst:             TimeUpdate
    - functionName:    DAPreInstall_Init
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/DA.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvWrite
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/DA.c:55,27'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/DA.c:55,27'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/DA.c:55,27'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
      Callsites:
        - Src:             'tpm/src/subsystem/DA.c:62,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/DA.c:63,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/DA.c:64,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/DA.c:65,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/DA.c:66,5'
          Dst:             NvWrite
    - functionName:    NvGetEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvNext
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:165,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:169,26'
              BranchSideFuncs:
                - NvNext
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:169,26'
              BranchSideFuncs:
                - NvNext
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:169,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:169,26'
              BranchSideFuncs:
                - NvNext
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:171,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:169,26'
          Dst:             NvNext
    - functionName:    NvNext
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - iter
        - handle
      BBCount:         12
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - NvRead
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:99,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:102,10'
              BranchSideFuncs:
                - NvRead
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:105,20'
              BranchSideFuncs:
                - NvRead
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:111,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:113,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:115,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:117,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:118,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:119,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:108,5'
          Dst:             NvRead
    - functionName:    NvRamGetEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvRamNext
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:414,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:418,26'
              BranchSideFuncs:
                - NvRamNext
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:418,26'
              BranchSideFuncs:
                - NvRamNext
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:418,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:418,26'
              BranchSideFuncs:
                - NvRamNext
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:420,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:418,26'
          Dst:             NvRamNext
    - functionName:    NvRamNext
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 408
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - iter
        - handle
      BBCount:         14
      ICount:          86
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - MemoryCopy
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:381,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:384,10'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:387,20'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:392,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:393,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:395,25'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:398,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:400,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:402,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:405,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:406,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:407,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:395,5'
          Dst:             MemoryCopy
    - functionName:    NvCapGetCounterAvail
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1706
      functionLinenumberEnd: 1733
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          94
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - NvCapGetPersistentNumber
        - NvGetFreeBytes
        - NvRamGetEnd
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1707,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1709,28'
              BranchSideFuncs:
                - NvCapGetPersistentNumber
                - NvGetFreeBytes
                - NvRamGetEnd
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1709,28'
              BranchSideFuncs:
                - NvCapGetPersistentNumber
                - NvGetFreeBytes
                - NvRamGetEnd
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1715,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1718,42'
              BranchSideFuncs:
                - NvRamGetEnd
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1725,45'
              BranchSideFuncs:
                - NvRamGetEnd
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1719,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1720,26'
              BranchSideFuncs:
                - NvRamGetEnd
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1722,29'
              BranchSideFuncs:
                - NvRamGetEnd
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1728,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1730,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1732,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1709,28'
          Dst:             NvCapGetPersistentNumber
        - Src:             'tpm/src/subsystem/NvDynamic.c:1713,20'
          Dst:             NvGetFreeBytes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1725,45'
          Dst:             NvRamGetEnd
    - functionName:    NvCapGetPersistentNumber
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1551
      functionLinenumberEnd: 1558
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvNextByType
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1552,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1556,11'
              BranchSideFuncs:
                - NvNextByType
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1556,11'
              BranchSideFuncs:
                - NvNextByType
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1556,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1557,12'
              BranchSideFuncs:
                - NvNextByType
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1558,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1556,11'
          Dst:             NvNextByType
    - functionName:    NvGetFreeBytes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvGetEnd
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:182,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:182,12'
              BranchSideFuncs:
                - NvGetEnd
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:182,12'
              BranchSideFuncs:
                - NvGetEnd
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:182,27'
          Dst:             NvGetEnd
    - functionName:    NvNextByType
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - handle
        - iter
        - type
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - HandleGetType
        - NvNext
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:136,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:140,26'
              BranchSideFuncs:
                - HandleGetType
                - NvNext
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:143,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:140,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:136,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:141,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:143,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:143,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:144,19'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:136,19'
          Dst:             NvNext
        - Src:             'tpm/src/subsystem/NvDynamic.c:140,12'
          Dst:             HandleGetType
    - functionName:    NvSetStartupAttributes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1609
      functionLinenumberEnd: 1627
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - attributes
        - type
      BBCount:         18
      ICount:          85
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1616,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1618,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1624,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1619,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1619,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1620,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1619,59'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1619,63'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1621,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1618,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1620,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1621,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1625,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1625,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1626,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1624,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1624,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1626,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    NvGetMaxCount
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1800
      functionLinenumberEnd: 1812
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvNext
        - NvRead
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1801,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1806,26'
              BranchSideFuncs:
                - NvNext
                - NvRead
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1806,26'
              BranchSideFuncs:
                - NvNext
                - NvRead
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1806,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1806,26'
              BranchSideFuncs:
                - NvNext
                - NvRead
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1810,23'
              BranchSideFuncs:
                - NvRead
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1806,26'
          Dst:             NvNext
        - Src:             'tpm/src/subsystem/NvDynamic.c:1810,5'
          Dst:             NvRead
    - functionName:    NvSetMaxCount
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1792
      functionLinenumberEnd: 1794
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - value
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvEntityStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1642
      functionLinenumberEnd: 1699
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - type
      BBCount:         19
      ICount:          127
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - ByteArrayToUint64
        - NvGetMaxCount
        - NvNextByType
        - NvRamNext
        - NvRead
        - NvReadNvIndexAttributes
        - NvReadRamIndexAttributes
        - NvSetStartupAttributes
        - NvWriteNvIndexAttributes
        - NvWriteRamIndexAttributes
        - Uint64ToByteArray
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1657,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1658,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1660,5'
              BranchSideFuncs:
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvSetStartupAttributes
                - NvWriteRamIndexAttributes
                - ByteArrayToUint64
                - Uint64ToByteArray
                - NvReadNvIndexAttributes
                - NvSetStartupAttributes
                - NvWriteNvIndexAttributes
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1660,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1662,46'
              BranchSideFuncs:
                - NvReadNvIndexAttributes
                - NvSetStartupAttributes
                - NvWriteNvIndexAttributes
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvSetStartupAttributes
                - NvWriteRamIndexAttributes
                - ByteArrayToUint64
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1672,5'
              BranchSideFuncs:
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvSetStartupAttributes
                - NvWriteRamIndexAttributes
                - ByteArrayToUint64
                - Uint64ToByteArray
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1665,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1666,13'
              BranchSideFuncs:
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvSetStartupAttributes
                - NvWriteRamIndexAttributes
                - ByteArrayToUint64
                - Uint64ToByteArray
                - NvReadNvIndexAttributes
                - NvSetStartupAttributes
                - NvWriteNvIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1668,45'
              BranchSideFuncs:
                - NvSetStartupAttributes
                - NvWriteNvIndexAttributes
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvSetStartupAttributes
                - NvWriteRamIndexAttributes
                - ByteArrayToUint64
                - Uint64ToByteArray
                - NvReadNvIndexAttributes
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1672,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1674,47'
              BranchSideFuncs:
                - NvReadRamIndexAttributes
                - NvSetStartupAttributes
                - NvWriteRamIndexAttributes
                - NvRamNext
                - ByteArrayToUint64
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1698,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1682,41'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1672,5'
              BranchSideFuncs:
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvSetStartupAttributes
                - NvWriteRamIndexAttributes
                - ByteArrayToUint64
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1682,45'
              BranchSideFuncs:
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvSetStartupAttributes
                - NvWriteRamIndexAttributes
                - ByteArrayToUint64
                - Uint64ToByteArray
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1682,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1672,5'
              BranchSideFuncs:
                - ByteArrayToUint64
                - Uint64ToByteArray
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvSetStartupAttributes
                - NvWriteRamIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1684,20'
              BranchSideFuncs:
                - ByteArrayToUint64
                - Uint64ToByteArray
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvSetStartupAttributes
                - NvWriteRamIndexAttributes
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1651,5'
          Dst:             NvRead
        - Src:             'tpm/src/subsystem/NvDynamic.c:1654,19'
          Dst:             NvGetMaxCount
        - Src:             'tpm/src/subsystem/NvDynamic.c:1654,5'
          Dst:             NvSetMaxCount
        - Src:             'tpm/src/subsystem/NvDynamic.c:1660,26'
          Dst:             NvNextByType
        - Src:             'tpm/src/subsystem/NvDynamic.c:1662,22'
          Dst:             NvReadNvIndexAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1668,22'
          Dst:             NvSetStartupAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1669,9'
          Dst:             NvWriteNvIndexAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1672,29'
          Dst:             NvRamNext
        - Src:             'tpm/src/subsystem/NvDynamic.c:1674,22'
          Dst:             NvReadRamIndexAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1676,22'
          Dst:             NvSetStartupAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1679,9'
          Dst:             NvWriteRamIndexAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1687,23'
          Dst:             ByteArrayToUint64
        - Src:             'tpm/src/subsystem/NvDynamic.c:1695,13'
          Dst:             Uint64ToByteArray
    - functionName:    NvReadNvIndexAttributes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 625
      functionLinenumberEnd: 631
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - locator
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvRead
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:628,5'
          Dst:             NvRead
    - functionName:    NvWriteNvIndexAttributes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 657
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - locator
        - attributes
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvConditionallyWrite
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:657,12'
          Dst:             NvConditionallyWrite
    - functionName:    NvReadRamIndexAttributes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 640
      functionLinenumberEnd: 645
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ref
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:643,5'
          Dst:             MemoryCopy
    - functionName:    NvWriteRamIndexAttributes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 668
      functionLinenumberEnd: 671
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ref
        - attributes
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:669,5'
          Dst:             MemoryCopy
    - functionName:    NvConditionallyWrite
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 607
      functionLinenumberEnd: 619
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - entryAddr
        - size
        - data
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvWrite
        - _plat__NvIsDifferent
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:609,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:612,12'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:618,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:612,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:614,21'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:616,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:609,8'
          Dst:             _plat__NvIsDifferent
        - Src:             'tpm/src/subsystem/NvDynamic.c:614,13'
          Dst:             NvWrite
    - functionName:    NvCapGetCounterNumber
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1590
      functionLinenumberEnd: 1601
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvNextByType
        - NvReadNvIndexAttributes
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1591,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1595,26'
              BranchSideFuncs:
                - NvNextByType
                - NvReadNvIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1595,26'
              BranchSideFuncs:
                - NvNextByType
                - NvReadNvIndexAttributes
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1595,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1597,54'
              BranchSideFuncs:
                - NvReadNvIndexAttributes
                - NvNextByType
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1601,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1598,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1595,5'
              BranchSideFuncs:
                - NvNextByType
                - NvReadNvIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1599,16'
              BranchSideFuncs:
                - NvNextByType
                - NvReadNvIndexAttributes
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1595,26'
          Dst:             NvNextByType
        - Src:             'tpm/src/subsystem/NvDynamic.c:1597,30'
          Dst:             NvReadNvIndexAttributes
    - functionName:    NvCapGetPersistentAvail
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1566
      functionLinenumberEnd: 1583
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvCapGetCounterNumber
        - NvGetFreeBytes
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1567,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1568,25'
              BranchSideFuncs:
                - NvCapGetCounterNumber
                - NvGetFreeBytes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1568,25'
              BranchSideFuncs:
                - NvCapGetCounterNumber
                - NvGetFreeBytes
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1574,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1574,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1577,44'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1578,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1579,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1581,29'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1568,25'
          Dst:             NvCapGetCounterNumber
        - Src:             'tpm/src/subsystem/NvDynamic.c:1572,20'
          Dst:             NvGetFreeBytes
    - functionName:    NvCapGetIndexNumber
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1538
      functionLinenumberEnd: 1544
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvNextByType
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1539,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1542,11'
              BranchSideFuncs:
                - NvNextByType
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1542,11'
              BranchSideFuncs:
                - NvNextByType
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1542,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1543,12'
              BranchSideFuncs:
                - NvNextByType
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1544,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1542,11'
          Dst:             NvNextByType
    - functionName:    NvCapGetIndex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1499
      functionLinenumberEnd: 1531
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - count
        - handleList
      BBCount:         18
      ICount:          99
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - HandleGetType
        - InsertSort
        - NvNextByType
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1505,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1505,5'
              BranchSideFuncs:
                - NvNextByType
                - InsertSort
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1508,5'
              BranchSideFuncs:
                - NvNextByType
                - InsertSort
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1511,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1512,15'
              BranchSideFuncs:
                - NvNextByType
                - InsertSort
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1514,5'
              BranchSideFuncs:
                - NvNextByType
                - InsertSort
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1514,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1517,12'
              BranchSideFuncs:
                - InsertSort
                - NvNextByType
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1531,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1517,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1518,13'
              BranchSideFuncs:
                - NvNextByType
                - InsertSort
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1521,12'
              BranchSideFuncs:
                - InsertSort
                - NvNextByType
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1521,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1522,18'
              BranchSideFuncs:
                - InsertSort
                - NvNextByType
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1529,20'
              BranchSideFuncs:
                - InsertSort
                - NvNextByType
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1505,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/NvDynamic.c:1505,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:1514,26'
          Dst:             NvNextByType
        - Src:             'tpm/src/subsystem/NvDynamic.c:1529,9'
          Dst:             InsertSort
    - functionName:    InsertSort
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1402
      functionLinenumberEnd: 1436
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - handleList
        - count
        - entityHandle
      BBCount:         26
      ICount:          167
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1407,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1408,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1410,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1410,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1412,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1417,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1418,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1419,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1421,11'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1421,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1423,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1433,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1423,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1425,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1431,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1425,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1427,41'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1429,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1433,26'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1433,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1434,33'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1433,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1434,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1435,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    NvCapGetPersistent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1452
      functionLinenumberEnd: 1484
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - count
        - handleList
      BBCount:         18
      ICount:          99
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - HandleGetType
        - InsertSort
        - NvNextByType
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1458,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1458,5'
              BranchSideFuncs:
                - NvNextByType
                - InsertSort
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1461,5'
              BranchSideFuncs:
                - NvNextByType
                - InsertSort
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1464,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1465,15'
              BranchSideFuncs:
                - NvNextByType
                - InsertSort
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1467,5'
              BranchSideFuncs:
                - NvNextByType
                - InsertSort
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1467,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1470,12'
              BranchSideFuncs:
                - InsertSort
                - NvNextByType
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1484,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1470,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1471,13'
              BranchSideFuncs:
                - NvNextByType
                - InsertSort
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1474,12'
              BranchSideFuncs:
                - InsertSort
                - NvNextByType
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1474,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1475,18'
              BranchSideFuncs:
                - InsertSort
                - NvNextByType
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1482,20'
              BranchSideFuncs:
                - InsertSort
                - NvNextByType
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1458,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/NvDynamic.c:1458,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:1467,26'
          Dst:             NvNextByType
        - Src:             'tpm/src/subsystem/NvDynamic.c:1482,9'
          Dst:             InsertSort
    - functionName:    NvSetGlobalLock
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1359
      functionLinenumberEnd: 1393
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         20
      ICount:          113
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - NvNextByType
        - NvRamNext
        - NvReadNvIndexAttributes
        - NvReadRamIndexAttributes
        - NvWriteNvIndexAttributes
        - NvWriteRamIndexAttributes
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1360,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1367,26'
              BranchSideFuncs:
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvWriteRamIndexAttributes
                - NvReadNvIndexAttributes
                - NvWriteNvIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1367,26'
              BranchSideFuncs:
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvWriteRamIndexAttributes
                - NvReadNvIndexAttributes
                - NvWriteNvIndexAttributes
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1367,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1369,54'
              BranchSideFuncs:
                - NvReadNvIndexAttributes
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvWriteRamIndexAttributes
                - NvWriteNvIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1382,5'
              BranchSideFuncs:
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvWriteRamIndexAttributes
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1373,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1367,5'
              BranchSideFuncs:
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvWriteRamIndexAttributes
                - NvReadNvIndexAttributes
                - NvWriteNvIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1373,15'
              BranchSideFuncs:
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvWriteRamIndexAttributes
                - NvReadNvIndexAttributes
                - NvWriteNvIndexAttributes
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1372,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1367,5'
              BranchSideFuncs:
                - NvWriteNvIndexAttributes
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvWriteRamIndexAttributes
                - NvReadNvIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1375,13'
              BranchSideFuncs:
                - NvWriteNvIndexAttributes
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvWriteRamIndexAttributes
                - NvReadNvIndexAttributes
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1377,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1378,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1379,9'
              BranchSideFuncs:
                - NvNextByType
                - NvRamNext
                - NvReadRamIndexAttributes
                - NvWriteRamIndexAttributes
                - NvReadNvIndexAttributes
                - NvWriteNvIndexAttributes
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1382,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1385,55'
              BranchSideFuncs:
                - NvReadRamIndexAttributes
                - NvRamNext
                - NvWriteRamIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1392,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1386,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1382,5'
              BranchSideFuncs:
                - NvWriteRamIndexAttributes
                - NvRamNext
                - NvReadRamIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1388,13'
              BranchSideFuncs:
                - NvWriteRamIndexAttributes
                - NvRamNext
                - NvReadRamIndexAttributes
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1367,26'
          Dst:             NvNextByType
        - Src:             'tpm/src/subsystem/NvDynamic.c:1369,30'
          Dst:             NvReadNvIndexAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1376,22'
          Dst:             NvWriteNvIndexAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1382,29'
          Dst:             NvRamNext
        - Src:             'tpm/src/subsystem/NvDynamic.c:1385,30'
          Dst:             NvReadRamIndexAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1389,13'
          Dst:             NvWriteRamIndexAttributes
    - functionName:    NvFlushHierarchy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1291
      functionLinenumberEnd: 1347
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - hierarchy
      BBCount:         41
      ICount:          197
      EdgeCount:       54
      CyclomaticComplexity: 15
      functionsReached:
        - HandleGetType
        - NvDelete
        - NvDeleteIndex
        - NvNext
        - NvRead
        - NvReadNvIndexInfo
        - TpmFail
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1297,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1297,5'
              BranchSideFuncs:
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvNext
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1299,26'
              BranchSideFuncs:
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvNext
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1299,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1305,16'
              BranchSideFuncs:
                - NvReadNvIndexInfo
                - NvDeleteIndex
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1321,31'
              BranchSideFuncs:
                - HandleGetType
                - TpmFail
                - NvRead
                - NvNext
                - HandleGetType
                - NvReadNvIndexInfo
                - NvDeleteIndex
                - NvDelete
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1305,48'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1305,51'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1306,17'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1305,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1306,17'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1308,31'
              BranchSideFuncs:
                - NvReadNvIndexInfo
                - NvDeleteIndex
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1311,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1314,50'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1320,9'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1315,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1316,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1318,22'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1321,17'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1326,29'
              BranchSideFuncs:
                - NvRead
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvReadNvIndexInfo
                - NvDeleteIndex
                - NvDelete
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1344,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1330,46'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1330,60'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvReadNvIndexInfo
                - NvDeleteIndex
                - NvDelete
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1331,20'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1331,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1331,20'
              BranchSideFuncs:
                - NvDelete
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvReadNvIndexInfo
                - NvDeleteIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1335,35'
              BranchSideFuncs:
                - NvDelete
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvReadNvIndexInfo
                - NvDeleteIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1331,46'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1331,60'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1332,20'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1332,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1332,20'
              BranchSideFuncs:
                - NvDelete
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvReadNvIndexInfo
                - NvDeleteIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1335,35'
              BranchSideFuncs:
                - NvDelete
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvReadNvIndexInfo
                - NvDeleteIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1332,52'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1332,66'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1341,9'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1330,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1335,35'
              BranchSideFuncs:
                - NvDelete
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvReadNvIndexInfo
                - NvDeleteIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1341,9'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1336,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1337,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1339,22'
              BranchSideFuncs:
                - NvNext
                - HandleGetType
                - HandleGetType
                - TpmFail
                - NvRead
                - NvDelete
                - NvReadNvIndexInfo
                - NvDeleteIndex
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1297,26'
          Dst:             NvNext
        - Src:             'tpm/src/subsystem/NvDynamic.c:1299,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/NvDynamic.c:1308,13'
          Dst:             NvReadNvIndexInfo
        - Src:             'tpm/src/subsystem/NvDynamic.c:1314,26'
          Dst:             NvDeleteIndex
        - Src:             'tpm/src/subsystem/NvDynamic.c:1321,17'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/NvDynamic.c:1325,13'
          Dst:             NvRead
        - Src:             'tpm/src/subsystem/NvDynamic.c:1335,26'
          Dst:             NvDelete
        - Src:             'tpm/src/subsystem/NvDynamic.c:1344,13'
          Dst:             TpmFail
    - functionName:    NvReadNvIndexInfo
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 556
      functionLinenumberEnd: 559
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ref
        - nvIndex
      BBCount:         7
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - NvRead
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:557,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:557,5'
              BranchSideFuncs:
                - NvRead
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:557,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:557,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:558,5'
          Dst:             NvRead
    - functionName:    NvDeleteIndex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1244
      functionLinenumberEnd: 1263
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - nvIndex
        - entityAddr
      BBCount:         17
      ICount:          99
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - NvDelete
        - NvDeleteRAM
        - NvGetUINT64Data
        - NvIndexCacheInit
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1247,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1251,12'
              BranchSideFuncs:
                - NvDelete
                - NvIndexCacheInit
                - NvDeleteRAM
                - NvGetUINT64Data
                - NvUpdateMaxCount
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1262,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1252,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1252,15'
              BranchSideFuncs:
                - NvDelete
                - NvIndexCacheInit
                - NvDeleteRAM
                - NvGetUINT64Data
                - NvUpdateMaxCount
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1254,27'
              BranchSideFuncs:
                - NvDelete
                - NvIndexCacheInit
                - NvDeleteRAM
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1251,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1253,46'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvUpdateMaxCount
                - NvDelete
                - NvIndexCacheInit
                - NvDeleteRAM
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1254,27'
              BranchSideFuncs:
                - NvDelete
                - NvIndexCacheInit
                - NvDeleteRAM
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1255,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1256,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1258,12'
              BranchSideFuncs:
                - NvIndexCacheInit
                - NvDeleteRAM
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1258,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1259,25'
              BranchSideFuncs:
                - NvDeleteRAM
                - NvIndexCacheInit
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1260,9'
              BranchSideFuncs:
                - NvIndexCacheInit
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1253,30'
          Dst:             NvGetUINT64Data
        - Src:             'tpm/src/subsystem/NvDynamic.c:1253,13'
          Dst:             NvUpdateMaxCount
        - Src:             'tpm/src/subsystem/NvDynamic.c:1254,18'
          Dst:             NvDelete
        - Src:             'tpm/src/subsystem/NvDynamic.c:1259,13'
          Dst:             NvDeleteRAM
        - Src:             'tpm/src/subsystem/NvDynamic.c:1260,9'
          Dst:             NvIndexCacheInit
    - functionName:    NvDelete
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - entityRef
      BBCount:         13
      ICount:          90
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - NvGetEnd
        - NvRead
        - NvWriteNvListEnd
        - TpmFail
        - _plat__NvMemoryClear
        - _plat__NvMemoryMove
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:326,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:326,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:330,24'
              BranchSideFuncs:
                - NvRead
                - NvWriteNvListEnd
                - _plat__NvMemoryClear
                - TpmFail
                - _plat__NvMemoryMove
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:337,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:339,9'
              BranchSideFuncs:
                - TpmFail
                - _plat__NvMemoryMove
                - NvWriteNvListEnd
                - _plat__NvMemoryClear
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:344,15'
              BranchSideFuncs:
                - NvWriteNvListEnd
                - _plat__NvMemoryClear
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:339,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:339,9'
              BranchSideFuncs:
                - _plat__NvMemoryMove
                - NvWriteNvListEnd
                - _plat__NvMemoryClear
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:340,29'
              BranchSideFuncs:
                - _plat__NvMemoryMove
                - NvWriteNvListEnd
                - _plat__NvMemoryClear
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:323,23'
          Dst:             NvGetEnd
        - Src:             'tpm/src/subsystem/NvDynamic.c:330,5'
          Dst:             NvRead
        - Src:             'tpm/src/subsystem/NvDynamic.c:339,9'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:340,9'
          Dst:             _plat__NvMemoryMove
        - Src:             'tpm/src/subsystem/NvDynamic.c:350,14'
          Dst:             NvWriteNvListEnd
        - Src:             'tpm/src/subsystem/NvDynamic.c:353,5'
          Dst:             _plat__NvMemoryClear
    - functionName:    NvWriteNvListEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - end
      BBCount:         7
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
        - NvReadMaxCount
        - NvWrite
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:252,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:252,5'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:252,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:245,56'
          Dst:             NvReadMaxCount
        - Src:             'tpm/src/subsystem/NvDynamic.c:251,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/NvDynamic.c:252,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:255,5'
          Dst:             NvWrite
    - functionName:    NvReadMaxCount
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1774
      functionLinenumberEnd: 1775
      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/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 888
      functionLinenumberEnd: 893
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - nvIndex
        - locator
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ByteArrayToUint64
        - NvGetIndexData
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:892,5'
          Dst:             NvGetIndexData
        - Src:             'tpm/src/subsystem/NvDynamic.c:893,12'
          Dst:             ByteArrayToUint64
    - functionName:    NvUpdateMaxCount
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1783
      functionLinenumberEnd: 1786
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - count
      BBCount:         4
      ICount:          22
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1784,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1784,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1785,24'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    NvDeleteRAM
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 545
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         7
      ICount:          69
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
        - MemorySet
        - NvRamGetEnd
        - NvRamGetIndex
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:528,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:528,5'
              BranchSideFuncs:
                - MemoryCopy
                - MemoryCopy
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:528,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:524,27'
          Dst:             NvRamGetEnd
        - Src:             'tpm/src/subsystem/NvDynamic.c:526,19'
          Dst:             NvRamGetIndex
        - Src:             'tpm/src/subsystem/NvDynamic.c:528,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:531,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/NvDynamic.c:537,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/NvDynamic.c:540,5'
          Dst:             MemorySet
    - functionName:    NvIndexCacheInit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 795
      functionLinenumberEnd: 799
      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/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 447
      functionLinenumberEnd: 457
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         9
      ICount:          43
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvRamNext
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:452,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:452,5'
              BranchSideFuncs:
                - NvRamNext
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:454,12'
              BranchSideFuncs:
                - NvRamNext
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:454,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:452,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:455,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:452,26'
          Dst:             NvRamNext
    - functionName:    NvGetIndexData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 815
      functionLinenumberEnd: 840
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - nvIndex
        - locator
        - offset
        - size
        - data
      BBCount:         28
      ICount:          157
      EdgeCount:       31
      CyclomaticComplexity: 5
      functionsReached:
        - MemoryCopy
        - NvRamGetIndex
        - NvRead
        - TpmFail
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:818,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:818,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - NvRead
                - NvRamGetIndex
                - TpmFail
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:820,20'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - NvRead
                - NvRamGetIndex
                - TpmFail
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:822,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:822,5'
              BranchSideFuncs:
                - TpmFail
                - NvRead
                - NvRamGetIndex
                - TpmFail
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:824,8'
              BranchSideFuncs:
                - TpmFail
                - NvRead
                - NvRamGetIndex
                - TpmFail
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:824,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:827,44'
              BranchSideFuncs:
                - NvRamGetIndex
                - TpmFail
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:836,9'
              BranchSideFuncs:
                - TpmFail
                - NvRead
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:828,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:828,9'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:828,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:828,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:828,9'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:831,20'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:836,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:836,9'
              BranchSideFuncs:
                - TpmFail
                - NvRead
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:836,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:836,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:836,9'
              BranchSideFuncs:
                - NvRead
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:838,16'
              BranchSideFuncs:
                - NvRead
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:818,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:822,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:827,30'
          Dst:             NvRamGetIndex
        - Src:             'tpm/src/subsystem/NvDynamic.c:828,9'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:831,9'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/NvDynamic.c:836,9'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:838,9'
          Dst:             NvRead
    - functionName:    NvDeleteEvict
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1272
      functionLinenumberEnd: 1278
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvDelete
        - NvFindEvict
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1276,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1276,8'
              BranchSideFuncs:
                - NvDelete
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1277,27'
              BranchSideFuncs:
                - NvDelete
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1273,25'
          Dst:             NvFindEvict
        - Src:             'tpm/src/subsystem/NvDynamic.c:1277,18'
          Dst:             NvDelete
    - functionName:    NvFindEvict
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 580
      functionLinenumberEnd: 586
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - nvHandle
        - object
      BBCount:         8
      ICount:          45
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - NvFindHandle
        - NvReadObject
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:584,19'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:584,22'
              BranchSideFuncs:
                - NvReadObject
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:584,19'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:584,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:584,8'
              BranchSideFuncs:
                - NvReadObject
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:585,22'
              BranchSideFuncs:
                - NvReadObject
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:581,20'
          Dst:             NvFindHandle
        - Src:             'tpm/src/subsystem/NvDynamic.c:585,9'
          Dst:             NvReadObject
    - functionName:    NvFindHandle
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1741
      functionLinenumberEnd: 1751
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         9
      ICount:          44
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvNext
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1746,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1746,5'
              BranchSideFuncs:
                - NvNext
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1748,12'
              BranchSideFuncs:
                - NvNext
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1748,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1746,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1749,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1746,19'
          Dst:             NvNext
    - functionName:    NvReadObject
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ref
        - object
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvRead
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:570,5'
          Dst:             NvRead
    - functionName:    NvAddEvictObject
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1209
      functionLinenumberEnd: 1233
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - evictHandle
        - object
      BBCount:         6
      ICount:          66
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvAdd
        - NvTestSpace
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1218,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1219,9'
              BranchSideFuncs:
                - NvAdd
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1222,5'
              BranchSideFuncs:
                - NvAdd
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1218,9'
          Dst:             NvTestSpace
        - Src:             'tpm/src/subsystem/NvDynamic.c:1226,14'
          Dst:             NvAdd
    - functionName:    NvTestSpace
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - size
        - isIndex
        - isCounter
      BBCount:         23
      ICount:          137
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - NvCapGetCounterNumber
        - NvCapGetPersistentNumber
        - NvGetFreeBytes
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:207,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:210,32'
              BranchSideFuncs:
                - NvCapGetPersistentNumber
                - NvCapGetCounterNumber
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:222,9'
              BranchSideFuncs:
                - NvCapGetCounterNumber
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:217,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:218,46'
              BranchSideFuncs:
                - NvCapGetCounterNumber
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:219,5'
              BranchSideFuncs:
                - NvCapGetCounterNumber
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:222,17'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:222,21'
              BranchSideFuncs:
                - NvCapGetCounterNumber
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:225,29'
              BranchSideFuncs:
                - NvCapGetCounterNumber
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:222,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:225,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:234,14'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:229,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:230,48'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:231,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:234,38'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:234,42'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:234,38'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:235,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:235,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:235,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:195,26'
          Dst:             NvGetFreeBytes
        - Src:             'tpm/src/subsystem/NvDynamic.c:210,32'
          Dst:             NvCapGetPersistentNumber
        - Src:             'tpm/src/subsystem/NvDynamic.c:225,29'
          Dst:             NvCapGetCounterNumber
    - functionName:    NvAdd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - totalSize
        - bufferSize
        - handle
        - entity
      BBCount:         9
      ICount:          83
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvGetEnd
        - NvWrite
        - NvWriteNvListEnd
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:280,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:280,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:283,15'
              BranchSideFuncs:
                - NvGetEnd
                - NvWrite
                - NvWrite
                - NvWriteNvListEnd
                - NvWrite
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:290,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:292,25'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWriteNvListEnd
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:296,21'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWriteNvListEnd
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:283,15'
          Dst:             NvGetEnd
        - Src:             'tpm/src/subsystem/NvDynamic.c:292,9'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/NvDynamic.c:296,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/NvDynamic.c:307,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/NvDynamic.c:310,5'
          Dst:             NvWriteNvListEnd
    - functionName:    NvAddRAM
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 505
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - index
      BBCount:         13
      ICount:          94
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - MemoryCopy
        - MemorySet
        - NvRamGetEnd
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:488,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:488,5'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - MemorySet
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:488,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:488,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:488,5'
              BranchSideFuncs:
                - MemoryCopy
                - MemorySet
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:491,16'
              BranchSideFuncs:
                - MemoryCopy
                - MemorySet
                - MemorySet
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:500,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:500,8'
              BranchSideFuncs:
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:501,19'
              BranchSideFuncs:
                - MemorySet
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:482,25'
          Dst:             NvRamGetEnd
        - Src:             'tpm/src/subsystem/NvDynamic.c:486,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/NvDynamic.c:488,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:491,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/NvDynamic.c:494,5'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/NvDynamic.c:501,9'
          Dst:             MemorySet
    - functionName:    NvRamTestSpaceIndex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - size
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvRamGetEnd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:433,51'
          Dst:             NvRamGetEnd
    - functionName:    NvDefineIndex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1159
      functionLinenumberEnd: 1198
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - publicArea
        - authValue
      BBCount:         20
      ICount:          136
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - NvAdd
        - NvAddRAM
        - NvRamTestSpaceIndex
        - NvTestSpace
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1169,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1170,22'
              BranchSideFuncs:
                - NvTestSpace
                - NvAdd
                - NvAddRAM
                - NvRamTestSpaceIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1175,21'
              BranchSideFuncs:
                - NvTestSpace
                - NvAdd
                - NvAddRAM
                - NvRamTestSpaceIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1175,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1176,9'
              BranchSideFuncs:
                - NvAdd
                - NvAddRAM
                - NvRamTestSpaceIndex
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1180,8'
              BranchSideFuncs:
                - NvAdd
                - NvAddRAM
                - NvRamTestSpaceIndex
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1181,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1181,32'
              BranchSideFuncs:
                - NvRamTestSpaceIndex
                - NvAdd
                - NvAddRAM
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1184,13'
              BranchSideFuncs:
                - NvAdd
                - NvAddRAM
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1180,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1182,9'
              BranchSideFuncs:
                - NvAdd
                - NvAddRAM
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1184,13'
              BranchSideFuncs:
                - NvAdd
                - NvAddRAM
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1191,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1194,12'
              BranchSideFuncs:
                - NvAddRAM
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1197,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1194,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1195,22'
              BranchSideFuncs:
                - NvAddRAM
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1196,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1175,9'
          Dst:             NvTestSpace
        - Src:             'tpm/src/subsystem/NvDynamic.c:1181,12'
          Dst:             NvRamTestSpaceIndex
        - Src:             'tpm/src/subsystem/NvDynamic.c:1190,14'
          Dst:             NvAdd
        - Src:             'tpm/src/subsystem/NvDynamic.c:1195,13'
          Dst:             NvAddRAM
    - functionName:    NvGetNameByIndexHandle
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1144
      functionLinenumberEnd: 1147
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - name
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvGetIndexInfo
        - NvGetIndexName
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1145,25'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/subsystem/NvDynamic.c:1147,12'
          Dst:             NvGetIndexName
    - functionName:    NvGetIndexInfo
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 961
      functionLinenumberEnd: 980
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - nvHandle
        - locator
      BBCount:         15
      ICount:          80
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - NvFindHandle
        - NvRamGetIndex
        - NvReadNvIndexInfo
        - NvReadRamIndexAttributes
      functionUses:    27
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:962,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:964,44'
              BranchSideFuncs:
                - NvFindHandle
                - NvReadNvIndexInfo
                - NvRamGetIndex
                - NvReadRamIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:977,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:967,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:968,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:969,27'
              BranchSideFuncs:
                - NvReadNvIndexInfo
                - NvRamGetIndex
                - NvReadRamIndexAttributes
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:970,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:972,46'
              BranchSideFuncs:
                - NvRamGetIndex
                - NvReadRamIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:976,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:977,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:978,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:979,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:966,46'
          Dst:             NvFindHandle
        - Src:             'tpm/src/subsystem/NvDynamic.c:969,9'
          Dst:             NvReadNvIndexInfo
        - Src:             'tpm/src/subsystem/NvDynamic.c:972,32'
          Dst:             NvRamGetIndex
        - Src:             'tpm/src/subsystem/NvDynamic.c:974,17'
          Dst:             NvReadRamIndexAttributes
    - functionName:    NvGetIndexName
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1110
      functionLinenumberEnd: 1130
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - nvIndex
        - name
      BBCount:         3
      ICount:          65
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate
        - CryptHashEnd
        - CryptHashStart
        - TPMS_NV_PUBLIC_Marshal
        - Uint16ToByteArray
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1118,16'
          Dst:             TPMS_NV_PUBLIC_Marshal
        - Src:             'tpm/src/subsystem/NvDynamic.c:1121,18'
          Dst:             CryptHashStart
        - Src:             'tpm/src/subsystem/NvDynamic.c:1122,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/subsystem/NvDynamic.c:1125,5'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/subsystem/NvDynamic.c:1128,5'
          Dst:             Uint16ToByteArray
    - functionName:    NvWriteUINT64Data
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1092
      functionLinenumberEnd: 1096
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - nvIndex
        - intValue
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvWriteIndexData
        - Uint64ToByteArray
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1094,5'
          Dst:             Uint64ToByteArray
        - Src:             'tpm/src/subsystem/NvDynamic.c:1096,12'
          Dst:             NvWriteIndexData
    - functionName:    NvWriteIndexData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1077
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - nvIndex
        - offset
        - size
        - data
      BBCount:         41
      ICount:          260
      EdgeCount:       50
      CyclomaticComplexity: 11
      functionsReached:
        - MemoryCopy
        - MemorySet
        - NvConditionallyWrite
        - NvWriteNvIndexAttributes
        - TpmFail
        - _plat__NvMemoryClear
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1006,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1006,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - NvWriteNvIndexAttributes
                - NvConditionallyWrite
                - MemoryCopy
                - _plat__NvMemoryClear
                - MemoryCopy
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1010,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - NvWriteNvIndexAttributes
                - NvConditionallyWrite
                - MemoryCopy
                - _plat__NvMemoryClear
                - MemoryCopy
                - MemorySet
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1010,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1010,5'
              BranchSideFuncs:
                - TpmFail
                - NvWriteNvIndexAttributes
                - NvConditionallyWrite
                - MemoryCopy
                - _plat__NvMemoryClear
                - MemoryCopy
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1013,5'
              BranchSideFuncs:
                - TpmFail
                - NvWriteNvIndexAttributes
                - NvConditionallyWrite
                - MemoryCopy
                - _plat__NvMemoryClear
                - MemoryCopy
                - MemorySet
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1013,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1013,5'
              BranchSideFuncs:
                - TpmFail
                - NvWriteNvIndexAttributes
                - NvConditionallyWrite
                - MemoryCopy
                - _plat__NvMemoryClear
                - MemoryCopy
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1013,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1013,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1013,5'
              BranchSideFuncs:
                - NvWriteNvIndexAttributes
                - NvConditionallyWrite
                - MemoryCopy
                - _plat__NvMemoryClear
                - MemoryCopy
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1017,9'
              BranchSideFuncs:
                - NvWriteNvIndexAttributes
                - NvConditionallyWrite
                - MemoryCopy
                - _plat__NvMemoryClear
                - MemoryCopy
                - MemorySet
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1017,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1020,9'
              BranchSideFuncs:
                - NvConditionallyWrite
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1058,8'
              BranchSideFuncs:
                - NvConditionallyWrite
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1024,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1026,47'
              BranchSideFuncs:
                - MemoryCopy
                - NvConditionallyWrite
                - MemoryCopy
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1040,24'
              BranchSideFuncs:
                - MemoryCopy
                - NvConditionallyWrite
                - MemoryCopy
                - MemorySet
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1028,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1029,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1032,16'
              BranchSideFuncs:
                - NvConditionallyWrite
                - MemoryCopy
                - _plat__NvMemoryClear
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1033,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1033,20'
              BranchSideFuncs:
                - NvConditionallyWrite
                - MemoryCopy
                - _plat__NvMemoryClear
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1036,9'
              BranchSideFuncs:
                - NvConditionallyWrite
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1032,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1034,38'
              BranchSideFuncs:
                - _plat__NvMemoryClear
                - NvConditionallyWrite
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1036,9'
              BranchSideFuncs:
                - NvConditionallyWrite
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1045,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1046,17'
              BranchSideFuncs:
                - NvConditionallyWrite
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1051,21'
              BranchSideFuncs:
                - NvConditionallyWrite
                - MemoryCopy
                - MemorySet
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:1058,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1065,20'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:1074,13'
              BranchSideFuncs:
                - NvConditionallyWrite
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:1006,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:1010,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:1013,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvDynamic.c:1026,22'
          Dst:             NvWriteNvIndexAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:1034,17'
          Dst:             _plat__NvMemoryClear
        - Src:             'tpm/src/subsystem/NvDynamic.c:1040,13'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/NvDynamic.c:1052,17'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/NvDynamic.c:1065,9'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/NvDynamic.c:1073,18'
          Dst:             NvConditionallyWrite
    - functionName:    NvWriteIndexAuth
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 932
      functionLinenumberEnd: 947
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - locator
        - authValue
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - MemoryCopy2B
        - NvConditionallyWrite
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:936,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:936,8'
              BranchSideFuncs:
                - MemoryCopy2B
                - NvConditionallyWrite
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:941,23'
              BranchSideFuncs:
                - MemoryCopy2B
                - NvConditionallyWrite
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:940,9'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/subsystem/NvDynamic.c:944,14'
          Dst:             NvConditionallyWrite
    - functionName:    NvWriteIndexAttributes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 906
      functionLinenumberEnd: 919
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - handle
        - locator
        - attributes
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvRamGetIndex
        - NvWriteNvIndexAttributes
        - NvWriteRamIndexAttributes
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:909,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:911,20'
              BranchSideFuncs:
                - NvRamGetIndex
                - NvWriteRamIndexAttributes
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:917,43'
              BranchSideFuncs:
                - NvWriteNvIndexAttributes
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:911,26'
          Dst:             NvRamGetIndex
        - Src:             'tpm/src/subsystem/NvDynamic.c:912,9'
          Dst:             NvWriteRamIndexAttributes
        - Src:             'tpm/src/subsystem/NvDynamic.c:917,18'
          Dst:             NvWriteNvIndexAttributes
    - functionName:    NvHashIndexData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 852
      functionLinenumberEnd: 877
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - short
      constantsTouched: []
      argNames:
        - hashState
        - nvIndex
        - locator
        - offset
        - size
      BBCount:         16
      ICount:          134
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate
        - NvGetIndexData
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:855,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:856,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:858,9'
              BranchSideFuncs:
                - NvGetIndexData
                - CryptDigestUpdate
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:858,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:859,16'
              BranchSideFuncs:
                - NvGetIndexData
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:868,17'
              BranchSideFuncs:
                - NvGetIndexData
                - CryptDigestUpdate
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:868,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:868,9'
              BranchSideFuncs:
                - NvGetIndexData
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:870,25'
              BranchSideFuncs:
                - NvGetIndexData
                - CryptDigestUpdate
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:870,24'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:868,40'
              BranchSideFuncs:
                - NvGetIndexData
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:870,44'
              BranchSideFuncs:
                - NvGetIndexData
                - CryptDigestUpdate
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:871,13'
          Dst:             NvGetIndexData
        - Src:             'tpm/src/subsystem/NvDynamic.c:872,13'
          Dst:             CryptDigestUpdate
    - functionName:    NvGetEvictObject
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 775
      functionLinenumberEnd: 790
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - object
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvFindEvict
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:787,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:788,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:789,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:779,18'
          Dst:             NvFindEvict
    - functionName:    NvIndexIsAccessible
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 763
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         19
      ICount:          86
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - NvGetIndexInfo
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:723,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:725,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:726,11'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:726,29'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:726,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:730,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:726,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:730,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:762,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:730,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:732,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:737,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:732,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:733,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:734,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:737,17'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:738,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:721,25'
          Dst:             NvGetIndexInfo
    - functionName:    NvIsOwnerPersistentHandle
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 699
      functionLinenumberEnd: 700
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:700,40'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:700,43'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:700,40'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    NvIsPlatformPersistentHandle
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 686
      functionLinenumberEnd: 687
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:687,43'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:687,46'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:687,43'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    NvIndexIsDefined
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 593
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - nvHandle
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvFindHandle
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:594,13'
          Dst:             NvFindHandle
    - functionName:    NvUpdateIndexOrderlyData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 467
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvWrite
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvDynamic.c:466,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:466,5'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/NvDynamic.c:466,5'
              BranchSideFuncs:
                - NvWrite
      Callsites:
        - Src:             'tpm/src/subsystem/NvDynamic.c:466,5'
          Dst:             NvWrite
    - functionName:    NvReadPersistent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvRead
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvReserved.c:235,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:235,5'
              BranchSideFuncs:
                - NvRead
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:235,5'
              BranchSideFuncs:
                - NvRead
      Callsites:
        - Src:             'tpm/src/subsystem/NvReserved.c:235,5'
          Dst:             NvRead
    - functionName:    NvRead
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - outBuffer
        - nvOffset
        - size
      BBCount:         7
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
        - _plat__NvMemoryRead
      functionUses:    13
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvReserved.c:182,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:182,5'
              BranchSideFuncs:
                - _plat__NvMemoryRead
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:182,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/NvReserved.c:182,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvReserved.c:183,5'
          Dst:             _plat__NvMemoryRead
    - functionName:    NvClearPersistent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - offset
        - size
      BBCount:         7
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - MemorySet
        - NvWrite
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvReserved.c:226,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:226,5'
              BranchSideFuncs:
                - MemorySet
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:226,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/NvReserved.c:226,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvReserved.c:227,5'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/NvReserved.c:228,5'
          Dst:             NvWrite
    - functionName:    NvWrite
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - nvOffset
        - size
        - inBuffer
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__NvMemoryWrite
      functionUses:    92
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvReserved.c:196,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:199,9'
              BranchSideFuncs:
                - _plat__NvMemoryWrite
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:202,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvReserved.c:200,16'
          Dst:             _plat__NvMemoryWrite
    - functionName:    NvUpdatePersistent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - offset
        - size
        - buffer
      BBCount:         7
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
        - NvWrite
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvReserved.c:214,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:214,5'
              BranchSideFuncs:
                - MemoryCopy
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:214,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/NvReserved.c:214,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvReserved.c:215,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/NvReserved.c:216,5'
          Dst:             NvWrite
    - functionName:    NvManufacture
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemorySet
        - NvInitStatic
        - NvSetMaxCount
        - NvUpdateIndexOrderlyData
        - NvWriteNvListEnd
        - _plat__NvMemoryClear
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvReserved.c:157,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:157,5'
              BranchSideFuncs:
                - _plat__NvMemoryClear
                - NvInitStatic
                - MemorySet
                - NvUpdateIndexOrderlyData
                - NvSetMaxCount
                - NvWriteNvListEnd
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:157,5'
              BranchSideFuncs:
                - _plat__NvMemoryClear
                - NvInitStatic
                - MemorySet
                - NvUpdateIndexOrderlyData
                - NvSetMaxCount
                - NvWriteNvListEnd
      Callsites:
        - Src:             'tpm/src/subsystem/NvReserved.c:157,5'
          Dst:             _plat__NvMemoryClear
        - Src:             'tpm/src/subsystem/NvReserved.c:160,5'
          Dst:             NvInitStatic
        - Src:             'tpm/src/subsystem/NvReserved.c:162,5'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/NvReserved.c:164,5'
          Dst:             NvUpdateIndexOrderlyData
        - Src:             'tpm/src/subsystem/NvReserved.c:167,5'
          Dst:             NvSetMaxCount
        - Src:             'tpm/src/subsystem/NvReserved.c:170,5'
          Dst:             NvWriteNvListEnd
    - functionName:    NvInitStatic
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 95
      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/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          41
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - NvInitStatic
        - TpmFail
        - _plat__NVEnable
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvReserved.c:134,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:134,9'
              BranchSideFuncs:
                - _plat__NVEnable
                - NvInitStatic
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:134,9'
              BranchSideFuncs:
                - _plat__NVEnable
                - NvInitStatic
                - TpmFail
        - Branch String:   'tpm/src/subsystem/NvReserved.c:137,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:137,8'
              BranchSideFuncs:
                - _plat__NVEnable
                - NvInitStatic
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:139,23'
              BranchSideFuncs:
                - _plat__NVEnable
                - NvInitStatic
                - TpmFail
        - Branch String:   'tpm/src/subsystem/NvReserved.c:139,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:140,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:141,9'
              BranchSideFuncs:
                - NvInitStatic
      Callsites:
        - Src:             'tpm/src/subsystem/NvReserved.c:139,23'
          Dst:             _plat__NVEnable
        - Src:             'tpm/src/subsystem/NvReserved.c:140,13'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/NvReserved.c:141,9'
          Dst:             NvInitStatic
    - functionName:    NvCommit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__NvCommit
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvReserved.c:123,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:123,13'
              BranchSideFuncs:
                - _plat__NvCommit
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:123,13'
              BranchSideFuncs:
                - _plat__NvCommit
      Callsites:
        - Src:             'tpm/src/subsystem/NvReserved.c:123,13'
          Dst:             _plat__NvCommit
    - functionName:    NvCheckState
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/NvReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          39
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _plat__IsNvAvailable
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/NvReserved.c:107,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:109,19'
              BranchSideFuncs:
                - _plat__IsNvAvailable
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:109,19'
              BranchSideFuncs:
                - _plat__IsNvAvailable
        - Branch String:   'tpm/src/subsystem/NvReserved.c:110,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:111,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:112,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/NvReserved.c:112,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:113,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/NvReserved.c:115,20'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/NvReserved.c:109,19'
          Dst:             _plat__IsNvAvailable
    - functionName:    ObjectGetProperties
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 934
      functionLinenumberEnd: 935
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleToObject
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:935,12'
          Dst:             HandleToObject
    - functionName:    HandleToObject
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         14
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    65
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:149,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:150,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:153,13'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:154,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:154,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:155,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:155,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:155,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:156,23'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:149,8'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Object.c:154,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Object.c:155,5'
          Dst:             TpmFail
    - functionName:    ObjectGetPublicAttributes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 928
      functionLinenumberEnd: 929
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleToObject
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:929,12'
          Dst:             HandleToObject
    - functionName:    ObjectCapGetTransientAvail
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 910
      functionLinenumberEnd: 921
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:915,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:917,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:921,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:917,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:918,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:919,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    ObjectCapGetLoaded
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 864
      functionLinenumberEnd: 902
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - count
        - handleList
      BBCount:         25
      ICount:          139
      EdgeCount:       29
      CyclomaticComplexity: 6
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:868,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:868,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:871,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:874,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:875,15'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:878,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:878,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:878,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:880,22'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:880,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:883,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:900,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:883,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:883,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:885,16'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:885,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:889,57'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:896,22'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:868,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Object.c:868,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Object.c:883,13'
          Dst:             TpmFail
    - functionName:    ObjectIsStorage
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 840
      functionLinenumberEnd: 849
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         18
      ICount:          103
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - HandleToObject
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:842,32'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:842,52'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:842,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:845,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:845,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:845,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:846,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:846,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:846,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:847,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:847,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:847,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:848,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:848,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:848,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:841,31'
          Dst:             HandleToObject
    - functionName:    PublicMarshalAndComputeName
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 770
      functionLinenumberEnd: 788
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - publicArea
        - name
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ObjectComputeName
        - TPMT_PUBLIC_Marshal
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:778,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:779,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:783,48'
              BranchSideFuncs:
                - TPMT_PUBLIC_Marshal
                - ObjectComputeName
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:783,28'
          Dst:             TPMT_PUBLIC_Marshal
        - Src:             'tpm/src/subsystem/Object.c:785,9'
          Dst:             ObjectComputeName
    - functionName:    ObjectComputeName
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 761
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - size
        - publicArea
        - nameAlg
        - name
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashBlock
        - Uint16ToByteArray
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:756,20'
          Dst:             CryptHashBlock
        - Src:             'tpm/src/subsystem/Object.c:759,5'
          Dst:             Uint16ToByteArray
    - functionName:    ObjectLoadEvict
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 706
      functionLinenumberEnd: 745
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - handle
        - commandIndex
      BBCount:         22
      ICount:          118
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - GetCommandCode
        - NvGetEvictObject
        - ObjectAllocateSlot
        - ObjectGetHierarchy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:713,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:716,12'
              BranchSideFuncs:
                - ObjectAllocateSlot
                - NvGetEvictObject
                - ObjectGetHierarchy
                - GetCommandCode
            - BranchSide:      'tpm/src/subsystem/Object.c:720,16'
              BranchSideFuncs:
                - ObjectAllocateSlot
                - NvGetEvictObject
                - ObjectGetHierarchy
                - GetCommandCode
        - Branch String:   'tpm/src/subsystem/Object.c:716,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:717,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:718,5'
              BranchSideFuncs:
                - ObjectAllocateSlot
                - NvGetEvictObject
                - ObjectGetHierarchy
                - GetCommandCode
        - Branch String:   'tpm/src/subsystem/Object.c:720,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:721,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:724,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:725,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:730,31'
              BranchSideFuncs:
                - NvGetEvictObject
                - ObjectGetHierarchy
                - GetCommandCode
        - Branch String:   'tpm/src/subsystem/Object.c:733,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:734,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:740,27'
              BranchSideFuncs:
                - ObjectGetHierarchy
                - GetCommandCode
        - Branch String:   'tpm/src/subsystem/Object.c:740,57'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:740,63'
              BranchSideFuncs:
                - GetCommandCode
            - BranchSide:      'tpm/src/subsystem/Object.c:744,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:741,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:741,26'
              BranchSideFuncs:
                - GetCommandCode
            - BranchSide:      'tpm/src/subsystem/Object.c:744,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:740,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:742,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:744,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:723,14'
          Dst:             ObjectAllocateSlot
        - Src:             'tpm/src/subsystem/Object.c:730,14'
          Dst:             NvGetEvictObject
        - Src:             'tpm/src/subsystem/Object.c:740,8'
          Dst:             ObjectGetHierarchy
        - Src:             'tpm/src/subsystem/Object.c:741,11'
          Dst:             GetCommandCode
    - functionName:    ObjectAllocateSlot
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 272
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - FindEmptyObjectSlot
        - ObjectSetInUse
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:267,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:267,8'
              BranchSideFuncs:
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:270,24'
              BranchSideFuncs:
                - ObjectSetInUse
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:265,22'
          Dst:             FindEmptyObjectSlot
        - Src:             'tpm/src/subsystem/Object.c:270,9'
          Dst:             ObjectSetInUse
    - functionName:    ObjectGetHierarchy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:199,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:201,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:203,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:203,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:205,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:207,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:207,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:209,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:213,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    FindEmptyObjectSlot
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
      BBCount:         13
      ICount:          72
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - MemorySet
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:245,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:247,29'
              BranchSideFuncs:
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/Object.c:257,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:248,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:250,16'
              BranchSideFuncs:
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/Object.c:256,5'
              BranchSideFuncs:
                - MemorySet
        - Branch String:   'tpm/src/subsystem/Object.c:250,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:251,27'
              BranchSideFuncs:
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/Object.c:253,24'
              BranchSideFuncs:
                - MemorySet
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:253,13'
          Dst:             MemorySet
    - functionName:    ObjectSetInUse
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ObjectFlushHierarchy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 661
      functionLinenumberEnd: 690
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - hierarchy
      BBCount:         24
      ICount:          139
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:665,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:667,22'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:690,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:667,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:669,20'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:688,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:669,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:672,34'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:676,34'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:680,34'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:684,21'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:672,24'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:673,35'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:674,21'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:676,24'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:677,35'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:678,21'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:680,24'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:681,35'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Object.c:682,21'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:684,21'
          Dst:             TpmFail
    - functionName:    ObjectContextLoad
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 638
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
        - handle
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - MemoryCopy
        - ObjectAllocateSlot
        - ObjectIsSequence
        - SequenceDataImport
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:622,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:622,8'
              BranchSideFuncs:
                - MemoryCopy
                - ObjectIsSequence
                - MemoryCopy
                - SequenceDataImport
            - BranchSide:      'tpm/src/subsystem/Object.c:625,20'
              BranchSideFuncs:
                - MemoryCopy
                - ObjectIsSequence
                - MemoryCopy
                - SequenceDataImport
        - Branch String:   'tpm/src/subsystem/Object.c:627,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:630,46'
              BranchSideFuncs:
                - SequenceDataImport
            - BranchSide:      'tpm/src/subsystem/Object.c:635,24'
              BranchSideFuncs:
                - MemoryCopy
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:619,25'
          Dst:             ObjectAllocateSlot
        - Src:             'tpm/src/subsystem/Object.c:625,9'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/Object.c:627,12'
          Dst:             ObjectIsSequence
        - Src:             'tpm/src/subsystem/Object.c:630,13'
          Dst:             SequenceDataImport
        - Src:             'tpm/src/subsystem/Object.c:635,13'
          Dst:             MemoryCopy
    - functionName:    ObjectIsSequence
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
      BBCount:         12
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - TpmFail
      functionUses:    9
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:132,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:132,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:133,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:133,47'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:133,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:133,50'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:134,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:134,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:134,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:132,5'
          Dst:             TpmFail
    - functionName:    FlushObject
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 647
      functionLinenumberEnd: 653
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         7
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - MemorySet
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:650,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:650,5'
              BranchSideFuncs:
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/Object.c:650,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:650,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Object.c:652,5'
          Dst:             MemorySet
    - functionName:    ObjectTerminateEvent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 606
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          62
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CryptHashEnd
        - CryptHashGetAlgByIndex
        - FlushObject
        - HandleToObject
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:585,18'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:589,47'
              BranchSideFuncs:
                - HandleToObject
                - CryptHashGetAlgByIndex
                - FlushObject
                - CryptHashEnd
            - BranchSide:      'tpm/src/subsystem/Object.c:589,47'
              BranchSideFuncs:
                - HandleToObject
                - CryptHashGetAlgByIndex
                - FlushObject
                - CryptHashEnd
        - Branch String:   'tpm/src/subsystem/Object.c:592,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:592,8'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - FlushObject
                - CryptHashEnd
            - BranchSide:      'tpm/src/subsystem/Object.c:598,19'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - FlushObject
                - CryptHashEnd
        - Branch String:   'tpm/src/subsystem/Object.c:598,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:600,27'
              BranchSideFuncs:
                - CryptHashEnd
                - CryptHashGetAlgByIndex
                - FlushObject
            - BranchSide:      'tpm/src/subsystem/Object.c:603,21'
              BranchSideFuncs:
                - FlushObject
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:589,32'
          Dst:             HandleToObject
        - Src:             'tpm/src/subsystem/Object.c:598,24'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'tpm/src/subsystem/Object.c:600,13'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/subsystem/Object.c:603,9'
          Dst:             FlushObject
    - functionName:    ObjectCreateEventSequence
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 563
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - auth
        - newHandle
      BBCount:         10
      ICount:          72
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - AllocateSequenceSlot
        - CryptHashGetAlgByIndex
        - CryptHashStart
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:569,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:570,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:572,5'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptHashStart
        - Branch String:   'tpm/src/subsystem/Object.c:575,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:576,25'
              BranchSideFuncs:
                - CryptHashStart
                - CryptHashGetAlgByIndex
            - BranchSide:      'tpm/src/subsystem/Object.c:577,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:564,31'
          Dst:             AllocateSequenceSlot
        - Src:             'tpm/src/subsystem/Object.c:575,28'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'tpm/src/subsystem/Object.c:576,9'
          Dst:             CryptHashStart
    - functionName:    AllocateSequenceSlot
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 487
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - newHandle
        - auth
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - MemorySet
        - ObjectAllocateSlot
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:461,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:461,8'
              BranchSideFuncs:
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/Object.c:466,20'
              BranchSideFuncs:
                - MemorySet
        - Branch String:   'tpm/src/subsystem/Object.c:482,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:483,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:485,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:454,41'
          Dst:             ObjectAllocateSlot
        - Src:             'tpm/src/subsystem/Object.c:466,9'
          Dst:             MemorySet
    - functionName:    ObjectCreateHashSequence
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 540
      functionLinenumberEnd: 553
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashAlg
        - auth
        - newHandle
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - AllocateSequenceSlot
        - CryptHashStart
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:544,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:545,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:547,5'
              BranchSideFuncs:
                - CryptHashStart
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:541,31'
          Dst:             AllocateSequenceSlot
        - Src:             'tpm/src/subsystem/Object.c:550,5'
          Dst:             CryptHashStart
    - functionName:    ObjectCreateHMACSequence
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 502
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashAlg
        - keyObject
        - auth
        - newHandle
      BBCount:         8
      ICount:          69
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - AllocateSequenceSlot
        - CryptMacStart
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:508,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:509,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:511,5'
              BranchSideFuncs:
                - CryptMacStart
        - Branch String:   'tpm/src/subsystem/Object.c:520,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:526,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:527,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:506,18'
          Dst:             AllocateSequenceSlot
        - Src:             'tpm/src/subsystem/Object.c:520,8'
          Dst:             CryptMacStart
    - functionName:    ObjectLoad
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 442
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
        - parent
        - publicArea
        - sensitive
        - blamePublic
        - blameSensitive
        - name
      BBCount:         46
      ICount:          258
      EdgeCount:       61
      CyclomaticComplexity: 17
      functionsReached:
        - CryptHashGetDigestSize
        - CryptRsaLoadPrivateExponent
        - CryptValidateKeys
        - PublicAttributesValidation
        - RcSafeAddToResult
        - SchemeChecks
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:377,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:377,5'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - PublicAttributesValidation
                - CryptRsaLoadPrivateExponent
                - CryptValidateKeys
                - RcSafeAddToResult
                - SchemeChecks
            - BranchSide:      'tpm/src/subsystem/Object.c:380,8'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - PublicAttributesValidation
                - CryptRsaLoadPrivateExponent
                - CryptValidateKeys
                - RcSafeAddToResult
                - SchemeChecks
        - Branch String:   'tpm/src/subsystem/Object.c:380,26'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:380,29'
              BranchSideFuncs:
                - SchemeChecks
                - CryptRsaLoadPrivateExponent
                - CryptValidateKeys
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/subsystem/Object.c:384,37'
              BranchSideFuncs:
                - SchemeChecks
                - CryptRsaLoadPrivateExponent
                - CryptValidateKeys
                - RcSafeAddToResult
        - Branch String:   'tpm/src/subsystem/Object.c:380,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:384,37'
              BranchSideFuncs:
                - SchemeChecks
                - CryptRsaLoadPrivateExponent
                - CryptValidateKeys
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/subsystem/Object.c:390,12'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - PublicAttributesValidation
                - CryptRsaLoadPrivateExponent
                - CryptValidateKeys
                - RcSafeAddToResult
        - Branch String:   'tpm/src/subsystem/Object.c:390,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:391,39'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:393,45'
              BranchSideFuncs:
                - PublicAttributesValidation
                - CryptRsaLoadPrivateExponent
                - CryptValidateKeys
                - RcSafeAddToResult
        - Branch String:   'tpm/src/subsystem/Object.c:395,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:396,34'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/subsystem/Object.c:402,9'
              BranchSideFuncs:
                - CryptRsaLoadPrivateExponent
                - CryptValidateKeys
        - Branch String:   'tpm/src/subsystem/Object.c:403,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:403,13'
              BranchSideFuncs:
                - CryptValidateKeys
                - CryptRsaLoadPrivateExponent
            - BranchSide:      'tpm/src/subsystem/Object.c:409,31'
              BranchSideFuncs:
                - CryptValidateKeys
                - CryptRsaLoadPrivateExponent
        - Branch String:   'tpm/src/subsystem/Object.c:404,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:404,16'
              BranchSideFuncs:
                - CryptValidateKeys
                - CryptRsaLoadPrivateExponent
            - BranchSide:      'tpm/src/subsystem/Object.c:418,9'
              BranchSideFuncs:
                - CryptRsaLoadPrivateExponent
        - Branch String:   'tpm/src/subsystem/Object.c:402,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:409,31'
              BranchSideFuncs:
                - CryptRsaLoadPrivateExponent
            - BranchSide:      'tpm/src/subsystem/Object.c:418,9'
              BranchSideFuncs:
                - CryptRsaLoadPrivateExponent
        - Branch String:   'tpm/src/subsystem/Object.c:410,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:411,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:412,5'
              BranchSideFuncs:
                - CryptRsaLoadPrivateExponent
        - Branch String:   'tpm/src/subsystem/Object.c:418,42'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:418,46'
              BranchSideFuncs:
                - CryptRsaLoadPrivateExponent
            - BranchSide:      'tpm/src/subsystem/Object.c:426,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:418,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:420,46'
              BranchSideFuncs:
                - CryptRsaLoadPrivateExponent
            - BranchSide:      'tpm/src/subsystem/Object.c:426,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:421,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:422,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:423,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:426,35'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:426,39'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:441,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:426,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:429,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:441,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:431,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:432,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:434,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:436,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:437,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:439,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:377,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Object.c:384,18'
          Dst:             SchemeChecks
        - Src:             'tpm/src/subsystem/Object.c:390,42'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/Object.c:393,18'
          Dst:             PublicAttributesValidation
        - Src:             'tpm/src/subsystem/Object.c:396,16'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/subsystem/Object.c:409,13'
          Dst:             CryptValidateKeys
        - Src:             'tpm/src/subsystem/Object.c:420,18'
          Dst:             CryptRsaLoadPrivateExponent
    - functionName:    ComputeQualifiedName
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 799
      functionLinenumberEnd: 828
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - parentHandle
        - nameAlg
        - name
        - qualifiedName
      BBCount:         6
      ICount:          75
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashStart
        - GetQualifiedName
        - MemoryCopy2B
        - Uint16ToByteArray
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:803,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:805,23'
              BranchSideFuncs:
                - MemoryCopy2B
            - BranchSide:      'tpm/src/subsystem/Object.c:810,26'
              BranchSideFuncs:
                - GetQualifiedName
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - Uint16ToByteArray
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:805,9'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/subsystem/Object.c:810,9'
          Dst:             GetQualifiedName
        - Src:             'tpm/src/subsystem/Object.c:815,33'
          Dst:             CryptHashStart
        - Src:             'tpm/src/subsystem/Object.c:818,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/subsystem/Object.c:821,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/subsystem/Object.c:824,9'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/subsystem/Object.c:825,9'
          Dst:             Uint16ToByteArray
    - functionName:    GetQualifiedName
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - qualifiedName
      BBCount:         13
      ICount:          77
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - HandleGetType
        - HandleToObject
        - TpmFail
        - Uint32ToByteArray
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:173,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:176,13'
              BranchSideFuncs:
                - Uint32ToByteArray
            - BranchSide:      'tpm/src/subsystem/Object.c:180,37'
              BranchSideFuncs:
                - HandleToObject
            - BranchSide:      'tpm/src/subsystem/Object.c:188,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Object.c:181,31'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:181,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:182,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:181,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:182,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:185,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:173,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Object.c:177,13'
          Dst:             Uint32ToByteArray
        - Src:             'tpm/src/subsystem/Object.c:180,22'
          Dst:             HandleToObject
        - Src:             'tpm/src/subsystem/Object.c:188,13'
          Dst:             TpmFail
    - functionName:    ObjectSetLoadedAttributes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - object
        - parentHandle
      BBCount:         32
      ICount:          305
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - ComputeQualifiedName
        - HandleToObject
        - ObjectSetInUse
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:290,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:292,9'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:315,14'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
        - Branch String:   'tpm/src/subsystem/Object.c:293,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:296,17'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:299,17'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:302,17'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:306,17'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
        - Branch String:   'tpm/src/subsystem/Object.c:316,14'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:316,14'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:316,18'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
        - Branch String:   'tpm/src/subsystem/Object.c:323,40'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:323,43'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:327,8'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
        - Branch String:   'tpm/src/subsystem/Object.c:327,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:328,9'
              BranchSideFuncs:
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:332,12'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
        - Branch String:   'tpm/src/subsystem/Object.c:333,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:333,16'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:344,30'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
        - Branch String:   'tpm/src/subsystem/Object.c:334,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:334,15'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:344,30'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
        - Branch String:   'tpm/src/subsystem/Object.c:335,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:335,15'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:344,30'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
        - Branch String:   'tpm/src/subsystem/Object.c:332,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:339,16'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:344,30'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
        - Branch String:   'tpm/src/subsystem/Object.c:339,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:340,17'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
            - BranchSide:      'tpm/src/subsystem/Object.c:342,17'
              BranchSideFuncs:
                - ComputeQualifiedName
                - ObjectSetInUse
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:283,36'
          Dst:             HandleToObject
        - Src:             'tpm/src/subsystem/Object.c:344,9'
          Dst:             ComputeQualifiedName
        - Src:             'tpm/src/subsystem/Object.c:350,5'
          Dst:             ObjectSetInUse
    - functionName:    GetHierarchy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleToObject
        - ObjectGetHierarchy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:227,22'
          Dst:             HandleToObject
        - Src:             'tpm/src/subsystem/Object.c:229,12'
          Dst:             ObjectGetHierarchy
    - functionName:    IsObjectPresent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         4
      ICount:          38
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:117,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:118,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Object.c:120,23'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    ObjectCleanupEvict
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          54
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - ObjectFlush
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:85,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:90,11'
              BranchSideFuncs:
                - ObjectFlush
            - BranchSide:      'tpm/src/subsystem/Object.c:90,11'
              BranchSideFuncs:
                - ObjectFlush
        - Branch String:   'tpm/src/subsystem/Object.c:90,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:93,37'
              BranchSideFuncs:
                - ObjectFlush
            - BranchSide:      'tpm/src/subsystem/Object.c:97,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Object.c:94,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:95,25'
              BranchSideFuncs:
                - ObjectFlush
            - BranchSide:      'tpm/src/subsystem/Object.c:96,5'
              BranchSideFuncs:
                - ObjectFlush
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:95,13'
          Dst:             ObjectFlush
    - functionName:    ObjectFlush
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ObjectStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          34
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - ObjectFlush
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Object.c:67,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:70,11'
              BranchSideFuncs:
                - ObjectFlush
            - BranchSide:      'tpm/src/subsystem/Object.c:70,11'
              BranchSideFuncs:
                - ObjectFlush
        - Branch String:   'tpm/src/subsystem/Object.c:70,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Object.c:73,32'
              BranchSideFuncs:
                - ObjectFlush
            - BranchSide:      'tpm/src/subsystem/Object.c:75,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Object.c:73,9'
          Dst:             ObjectFlush
    - functionName:    PCRSetSelectBit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1031
      functionLinenumberEnd: 1033
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - pcr
        - bitmap
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PCRCapGetHandles
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1194
      functionLinenumberEnd: 1225
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - count
        - handleList
      BBCount:         18
      ICount:          104
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:1198,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1198,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:1201,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:1204,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1205,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:1208,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:1208,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1208,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:1210,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:1210,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1214,53'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:1221,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:1198,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/PCR.c:1198,5'
          Dst:             TpmFail
    - functionName:    PCRGetProperty
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1042
      functionLinenumberEnd: 1133
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - property
        - select
      BBCount:         70
      ICount:          424
      EdgeCount:       85
      CyclomaticComplexity: 17
      functionsReached:
        - MemorySet
        - PCRBelongsAuthGroup
        - PCRBelongsPolicyGroup
        - PCRBelongsTCBGroup
        - PCRSetSelectBit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:1054,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1056,16'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1132,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:1056,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1059,37'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1063,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1067,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1071,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1075,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1079,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1083,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1087,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1091,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1095,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1099,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1104,38'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1109,42'
              BranchSideFuncs:
                - PCRBelongsPolicyGroup
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1115,40'
              BranchSideFuncs:
                - PCRBelongsAuthGroup
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1121,39'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1128,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:1059,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1060,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1061,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1063,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1064,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1065,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1067,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1068,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1069,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1071,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1072,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1073,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1075,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1076,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1077,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1079,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1080,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1081,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1083,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1084,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1085,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1087,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1088,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1089,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1091,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1092,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1093,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1095,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1096,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1097,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1099,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1100,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1101,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1104,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1105,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1106,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1109,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1110,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1111,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1115,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1116,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1117,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
        - Branch String:   'tpm/src/subsystem/PCR.c:1121,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1122,37'
              BranchSideFuncs:
                - PCRSetSelectBit
                - PCRBelongsTCBGroup
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:1123,17'
              BranchSideFuncs:
                - PCRBelongsTCBGroup
                - PCRSetSelectBit
                - PCRBelongsAuthGroup
                - PCRSetSelectBit
                - PCRBelongsPolicyGroup
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
                - PCRSetSelectBit
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:1051,5'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/PCR.c:1060,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1064,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1068,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1072,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1076,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1080,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1084,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1088,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1092,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1096,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1100,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1105,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1109,20'
          Dst:             PCRBelongsPolicyGroup
        - Src:             'tpm/src/subsystem/PCR.c:1110,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1115,20'
          Dst:             PCRBelongsAuthGroup
        - Src:             'tpm/src/subsystem/PCR.c:1116,21'
          Dst:             PCRSetSelectBit
        - Src:             'tpm/src/subsystem/PCR.c:1121,20'
          Dst:             PCRBelongsTCBGroup
        - Src:             'tpm/src/subsystem/PCR.c:1122,21'
          Dst:             PCRSetSelectBit
    - functionName:    PCRBelongsPolicyGroup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - groupIndex
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:130,21'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:130,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:136,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:130,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:132,10'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:136,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PCRBelongsAuthGroup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - groupIndex
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:98,21'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:98,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:105,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:98,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:100,10'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:105,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PCRBelongsTCBGroup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         7
      ICount:          32
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:153,21'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:153,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:157,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:153,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:154,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:157,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PCRCapGetProperties
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1145
      functionLinenumberEnd: 1179
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - property
        - count
        - select
      BBCount:         17
      ICount:          100
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - PCRGetProperty
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:1153,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1154,15'
              BranchSideFuncs:
                - PCRGetProperty
            - BranchSide:      'tpm/src/subsystem/PCR.c:1162,13'
              BranchSideFuncs:
                - PCRGetProperty
        - Branch String:   'tpm/src/subsystem/PCR.c:1162,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1162,5'
              BranchSideFuncs:
                - PCRGetProperty
            - BranchSide:      'tpm/src/subsystem/PCR.c:1164,12'
              BranchSideFuncs:
                - PCRGetProperty
        - Branch String:   'tpm/src/subsystem/PCR.c:1164,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1167,31'
              BranchSideFuncs:
                - PCRGetProperty
            - BranchSide:      'tpm/src/subsystem/PCR.c:1175,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:1167,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1169,17'
              BranchSideFuncs:
                - PCRGetProperty
            - BranchSide:      'tpm/src/subsystem/PCR.c:1170,9'
              BranchSideFuncs:
                - PCRGetProperty
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:1167,16'
          Dst:             PCRGetProperty
    - functionName:    PCRCapGetAllocation
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1013
      functionLinenumberEnd: 1024
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - count
        - pcrSelection
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:1014,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:1016,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:1021,10'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PCRResetDynamics
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 975
      functionLinenumberEnd: 1001
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          98
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - CryptHashGetDigestSize
        - GetPcrPointer
        - MemorySet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:976,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:979,13'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:979,13'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
        - Branch String:   'tpm/src/subsystem/PCR.c:979,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:982,15'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:1001,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:982,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:987,67'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:1000,5'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
        - Branch String:   'tpm/src/subsystem/PCR.c:989,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:992,74'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - GetPcrPointer
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:999,9'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
        - Branch String:   'tpm/src/subsystem/PCR.c:996,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:997,31'
              BranchSideFuncs:
                - MemorySet
                - GetPcrPointer
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/subsystem/PCR.c:998,13'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:987,23'
          Dst:             GetPcrPointer
        - Src:             'tpm/src/subsystem/PCR.c:992,21'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/PCR.c:997,21'
          Dst:             MemorySet
    - functionName:    GetPcrPointer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 348
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - alg
        - pcrNumber
      BBCount:         11
      ICount:          73
      EdgeCount:       21
      CyclomaticComplexity: 12
      functionsReached:
        - PcrIsAllocated
        - TpmFail
      functionUses:    8
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:330,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:331,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/PCR.c:333,12'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/PCR.c:333,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:340,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:340,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:340,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:344,13'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:330,9'
          Dst:             PcrIsAllocated
        - Src:             'tpm/src/subsystem/PCR.c:344,13'
          Dst:             TpmFail
    - functionName:    PcrIsAllocated
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - short
      constantsTouched: []
      argNames:
        - pcr
        - hashAlg
      BBCount:         14
      ICount:          83
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:298,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:298,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:300,15'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:300,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:302,46'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:313,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:302,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:304,52'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:312,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:304,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:307,31'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:309,31'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PCRSetValue
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 935
      functionLinenumberEnd: 969
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - char
      constantsTouched: []
      argNames:
        - handle
        - initialValue
      BBCount:         16
      ICount:          112
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - CryptHashGetAlgByIndex
        - CryptHashGetDigestSize
        - GetPcrPointer
        - MemorySet
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:943,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:943,5'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:945,39'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
        - Branch String:   'tpm/src/subsystem/PCR.c:947,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:948,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:951,63'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetAlgByIndex
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
        - Branch String:   'tpm/src/subsystem/PCR.c:954,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:957,49'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - MemorySet
                - CryptHashGetAlgByIndex
                - GetPcrPointer
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:968,5'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
        - Branch String:   'tpm/src/subsystem/PCR.c:963,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:964,27'
              BranchSideFuncs:
                - MemorySet
                - CryptHashGetAlgByIndex
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:966,27'
              BranchSideFuncs:
                - MemorySet
                - CryptHashGetAlgByIndex
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:945,16'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'tpm/src/subsystem/PCR.c:951,19'
          Dst:             GetPcrPointer
        - Src:             'tpm/src/subsystem/PCR.c:957,26'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/PCR.c:964,17'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/PCR.c:966,17'
          Dst:             MemorySet
    - functionName:    PCRAllocate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 835
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - allocate
        - maxPCR
        - sizeNeeded
        - sizeAvailable
      BBCount:         48
      ICount:          328
      EdgeCount:       60
      CyclomaticComplexity: 14
      functionsReached:
        - CryptHashGetDigestSize
        - NvWrite
        - TestBit
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:849,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:851,15'
              BranchSideFuncs:
                - TpmFail
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:870,6'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/subsystem/PCR.c:851,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:859,28'
              BranchSideFuncs:
                - TpmFail
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:866,9'
              BranchSideFuncs:
                - TpmFail
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/subsystem/PCR.c:859,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:861,29'
              BranchSideFuncs:
                - TpmFail
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:864,9'
              BranchSideFuncs:
                - TpmFail
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/subsystem/PCR.c:866,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:866,9'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/PCR.c:867,5'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
                - TpmFail
        - Branch String:   'tpm/src/subsystem/PCR.c:871,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:872,10'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:875,6'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/subsystem/PCR.c:876,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:878,64'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/PCR.c:911,9'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/subsystem/PCR.c:882,19'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:882,19'
              BranchSideFuncs:
                - TestBit
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:883,42'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - NvWrite
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/subsystem/PCR.c:893,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:894,43'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:899,20'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/subsystem/PCR.c:899,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:901,18'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:909,5'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/subsystem/PCR.c:902,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:904,33'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:908,9'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/subsystem/PCR.c:904,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:905,36'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/subsystem/PCR.c:906,24'
              BranchSideFuncs:
                - NvWrite
                - CryptHashGetDigestSize
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/subsystem/PCR.c:911,17'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:911,21'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/PCR.c:912,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:911,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:912,9'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/PCR.c:917,6'
              BranchSideFuncs:
                - NvWrite
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:866,9'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/PCR.c:878,29'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/PCR.c:882,22'
          Dst:             TestBit
        - Src:             'tpm/src/subsystem/PCR.c:893,23'
          Dst:             TestBit
        - Src:             'tpm/src/subsystem/PCR.c:923,5'
          Dst:             NvWrite
    - functionName:    PCRRead
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 821
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - selection
        - digest
        - pcrCounter
      BBCount:         36
      ICount:          267
      EdgeCount:       45
      CyclomaticComplexity: 11
      functionsReached:
        - CryptHashGetDigestSize
        - FilterPcr
        - GetPcrPointer
        - IsPcrSelected
        - MemoryCopy
        - MemorySet
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:763,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:763,5'
              BranchSideFuncs:
                - FilterPcr
                - MemorySet
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:766,19'
              BranchSideFuncs:
                - FilterPcr
                - MemorySet
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:770,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:772,30'
              BranchSideFuncs:
                - IsPcrSelected
                - FilterPcr
                - MemorySet
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:804,12'
              BranchSideFuncs:
                - FilterPcr
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
                - MemorySet
        - Branch String:   'tpm/src/subsystem/PCR.c:772,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:775,20'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
                - FilterPcr
                - MemorySet
                - IsPcrSelected
            - BranchSide:      'tpm/src/subsystem/PCR.c:802,9'
              BranchSideFuncs:
                - FilterPcr
                - MemorySet
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:775,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:778,21'
              BranchSideFuncs:
                - FilterPcr
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:791,44'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
                - FilterPcr
                - MemorySet
                - IsPcrSelected
        - Branch String:   'tpm/src/subsystem/PCR.c:780,27'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:778,21'
              BranchSideFuncs:
                - FilterPcr
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:780,31'
              BranchSideFuncs:
                - FilterPcr
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
                - MemorySet
        - Branch String:   'tpm/src/subsystem/PCR.c:778,21'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:783,70'
              BranchSideFuncs:
                - FilterPcr
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:787,21'
              BranchSideFuncs:
                - FilterPcr
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
                - MemorySet
        - Branch String:   'tpm/src/subsystem/PCR.c:795,17'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:795,17'
              BranchSideFuncs:
                - MemoryCopy
                - FilterPcr
                - MemorySet
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/PCR.c:797,28'
              BranchSideFuncs:
                - MemoryCopy
                - FilterPcr
                - MemorySet
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
        - Branch String:   'tpm/src/subsystem/PCR.c:804,30'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:804,33'
              BranchSideFuncs:
                - FilterPcr
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:817,5'
              BranchSideFuncs:
                - FilterPcr
                - MemorySet
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:804,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:807,13'
              BranchSideFuncs:
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:817,5'
              BranchSideFuncs:
                - FilterPcr
                - MemorySet
                - IsPcrSelected
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:807,13'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:809,27'
              BranchSideFuncs:
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:815,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:767,9'
          Dst:             FilterPcr
        - Src:             'tpm/src/subsystem/PCR.c:772,16'
          Dst:             IsPcrSelected
        - Src:             'tpm/src/subsystem/PCR.c:791,21'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/PCR.c:794,27'
          Dst:             GetPcrPointer
        - Src:             'tpm/src/subsystem/PCR.c:795,17'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/PCR.c:797,17'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/PCR.c:809,17'
          Dst:             MemorySet
    - functionName:    FilterPcr
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - selection
      BBCount:         19
      ICount:          131
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:378,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:379,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:382,11'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:382,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:384,42'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:391,11'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:384,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:386,56'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:389,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:391,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:393,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:402,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:393,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:396,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:399,40'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    IsPcrSelected
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 365
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - pcr
        - selection
      BBCount:         4
      ICount:          42
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:364,17'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:364,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:364,17'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PCRComputeCurrentDigest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 704
      functionLinenumberEnd: 741
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashAlg
        - selection
        - digest
      BBCount:         25
      ICount:          154
      EdgeCount:       29
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - FilterPcr
        - GetPcrPointer
        - IsPcrSelected
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:714,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:714,5'
              BranchSideFuncs:
                - TpmFail
                - CryptHashEnd2B
                - FilterPcr
                - CryptHashGetDigestSize
                - IsPcrSelected
                - GetPcrPointer
                - TpmFail
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/subsystem/PCR.c:714,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/PCR.c:714,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:714,5'
              BranchSideFuncs:
                - CryptHashEnd2B
                - FilterPcr
                - CryptHashGetDigestSize
                - IsPcrSelected
                - GetPcrPointer
                - TpmFail
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/subsystem/PCR.c:717,11'
              BranchSideFuncs:
                - CryptHashEnd2B
                - FilterPcr
                - CryptHashGetDigestSize
                - IsPcrSelected
                - GetPcrPointer
                - TpmFail
                - CryptDigestUpdate
        - Branch String:   'tpm/src/subsystem/PCR.c:717,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:720,19'
              BranchSideFuncs:
                - FilterPcr
                - CryptHashGetDigestSize
                - CryptHashEnd2B
                - IsPcrSelected
                - GetPcrPointer
                - TpmFail
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/subsystem/PCR.c:739,33'
              BranchSideFuncs:
                - CryptHashEnd2B
        - Branch String:   'tpm/src/subsystem/PCR.c:727,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:729,30'
              BranchSideFuncs:
                - IsPcrSelected
                - CryptHashEnd2B
                - FilterPcr
                - CryptHashGetDigestSize
                - GetPcrPointer
                - TpmFail
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/subsystem/PCR.c:737,5'
              BranchSideFuncs:
                - CryptHashEnd2B
                - FilterPcr
                - CryptHashGetDigestSize
                - IsPcrSelected
                - GetPcrPointer
                - TpmFail
                - CryptDigestUpdate
        - Branch String:   'tpm/src/subsystem/PCR.c:729,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:732,41'
              BranchSideFuncs:
                - GetPcrPointer
                - TpmFail
                - CryptDigestUpdate
                - CryptHashEnd2B
                - FilterPcr
                - CryptHashGetDigestSize
                - IsPcrSelected
            - BranchSide:      'tpm/src/subsystem/PCR.c:736,9'
              BranchSideFuncs:
                - CryptHashEnd2B
                - FilterPcr
                - CryptHashGetDigestSize
                - IsPcrSelected
                - GetPcrPointer
                - TpmFail
                - CryptDigestUpdate
        - Branch String:   'tpm/src/subsystem/PCR.c:733,17'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:733,17'
              BranchSideFuncs:
                - CryptDigestUpdate
                - CryptHashEnd2B
                - FilterPcr
                - CryptHashGetDigestSize
                - IsPcrSelected
                - GetPcrPointer
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/PCR.c:734,47'
              BranchSideFuncs:
                - CryptDigestUpdate
                - CryptHashEnd2B
                - FilterPcr
                - CryptHashGetDigestSize
                - IsPcrSelected
                - GetPcrPointer
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:713,22'
          Dst:             CryptHashStart
        - Src:             'tpm/src/subsystem/PCR.c:714,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/PCR.c:721,9'
          Dst:             FilterPcr
        - Src:             'tpm/src/subsystem/PCR.c:724,19'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/PCR.c:729,16'
          Dst:             IsPcrSelected
        - Src:             'tpm/src/subsystem/PCR.c:732,27'
          Dst:             GetPcrPointer
        - Src:             'tpm/src/subsystem/PCR.c:733,17'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/PCR.c:734,17'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/subsystem/PCR.c:739,5'
          Dst:             CryptHashEnd2B
    - functionName:    PCRIsExtendAllowed
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 649
      functionLinenumberEnd: 661
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__LocalityGet
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:657,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:658,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:660,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:655,23'
          Dst:             _plat__LocalityGet
    - functionName:    PCRIsResetAllowed
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 601
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         8
      ICount:          68
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _plat__LocalityGet
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:611,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:612,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:615,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:616,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:617,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:619,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:607,23'
          Dst:             _plat__LocalityGet
    - functionName:    PCRIsStateSaved
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:587,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:588,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:590,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PCRStateSave
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 534
      functionLinenumberEnd: 574
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - type
      BBCount:         20
      ICount:          134
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - CryptHashGetDigestSize
        - GetPcrPointer
        - GetSavedPcrPointer
        - MemoryCopy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:539,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:540,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:543,13'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:543,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:545,47'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:573,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/PCR.c:548,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:553,67'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:570,22'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:555,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:558,74'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - GetPcrPointer
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:569,9'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:560,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:563,27'
              BranchSideFuncs:
                - GetSavedPcrPointer
                - MemoryCopy
                - GetPcrPointer
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/subsystem/PCR.c:568,13'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - GetSavedPcrPointer
                - MemoryCopy
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:553,23'
          Dst:             GetPcrPointer
        - Src:             'tpm/src/subsystem/PCR.c:558,21'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/PCR.c:564,36'
          Dst:             GetSavedPcrPointer
        - Src:             'tpm/src/subsystem/PCR.c:566,21'
          Dst:             MemoryCopy
    - functionName:    GetSavedPcrPointer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - alg
        - pcrIndex
      BBCount:         8
      ICount:          57
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached:
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:269,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:276,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:276,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:276,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:280,13'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:280,13'
          Dst:             TpmFail
    - functionName:    PCRChanged
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 639
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - pcrHandle
      BBCount:         11
      ICount:          51
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - PCRBelongsTCBGroup
        - TpmFail
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:633,25'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:633,48'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/PCR.c:635,22'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/PCR.c:633,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:633,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:635,22'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/PCR.c:636,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:637,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/PCR.c:638,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:633,29'
          Dst:             PCRBelongsTCBGroup
        - Src:             'tpm/src/subsystem/PCR.c:637,13'
          Dst:             TpmFail
    - functionName:    PCRStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - char
      constantsTouched: []
      argNames:
        - type
        - locality
      BBCount:         47
      ICount:          259
      EdgeCount:       62
      CyclomaticComplexity: 17
      functionsReached:
        - CryptHashGetDigestSize
        - GetPcrPointer
        - GetSavedPcrPointer
        - MemoryCopy
        - MemorySet
        - PCRChanged
        - PCR_ClearAuth
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:458,26'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:458,29'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:465,13'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:458,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:461,23'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:465,13'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:465,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:470,12'
              BranchSideFuncs:
                - PCRChanged
                - PCR_ClearAuth
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:525,8'
              BranchSideFuncs:
                - PCR_ClearAuth
        - Branch String:   'tpm/src/subsystem/PCR.c:470,30'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:470,50'
              BranchSideFuncs:
                - PCRChanged
                - PCR_ClearAuth
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:476,24'
              BranchSideFuncs:
                - PCRChanged
                - PCR_ClearAuth
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:470,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:472,24'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:476,24'
              BranchSideFuncs:
                - PCRChanged
                - PCR_ClearAuth
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:482,29'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:482,32'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:486,15'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:482,50'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:482,53'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:486,15'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:482,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:483,13'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:486,15'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:486,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:488,67'
              BranchSideFuncs:
                - GetPcrPointer
                - CryptHashGetDigestSize
                - PCR_ClearAuth
                - PCRChanged
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:522,22'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:492,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:495,20'
              BranchSideFuncs:
                - MemorySet
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:521,9'
              BranchSideFuncs:
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:495,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:500,55'
              BranchSideFuncs:
                - GetSavedPcrPointer
                - MemoryCopy
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/PCR.c:511,42'
              BranchSideFuncs:
                - MemorySet
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - GetSavedPcrPointer
                - MemoryCopy
                - MemorySet
        - Branch String:   'tpm/src/subsystem/PCR.c:501,24'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:502,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:503,32'
              BranchSideFuncs:
                - MemoryCopy
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - MemorySet
                - GetSavedPcrPointer
        - Branch String:   'tpm/src/subsystem/PCR.c:511,24'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:512,35'
              BranchSideFuncs:
                - MemorySet
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/PCR.c:515,35'
              BranchSideFuncs:
                - MemorySet
                - PCR_ClearAuth
                - PCRChanged
                - GetPcrPointer
                - CryptHashGetDigestSize
                - MemorySet
                - GetSavedPcrPointer
                - MemoryCopy
        - Branch String:   'tpm/src/subsystem/PCR.c:525,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:526,9'
              BranchSideFuncs:
                - PCR_ClearAuth
            - BranchSide:      'tpm/src/subsystem/PCR.c:527,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:477,13'
          Dst:             PCRChanged
        - Src:             'tpm/src/subsystem/PCR.c:489,37'
          Dst:             GetPcrPointer
        - Src:             'tpm/src/subsystem/PCR.c:490,37'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/PCR.c:499,36'
          Dst:             GetSavedPcrPointer
        - Src:             'tpm/src/subsystem/PCR.c:503,21'
          Dst:             MemoryCopy
        - Src:             'tpm/src/subsystem/PCR.c:512,25'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/PCR.c:515,25'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/PCR.c:526,9'
          Dst:             PCR_ClearAuth
    - functionName:    PCR_ClearAuth
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 435
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          28
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:438,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:440,31'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:443,1'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PCRExtend
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 670
      functionLinenumberEnd: 690
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - hash
        - size
        - data
      BBCount:         6
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate
        - CryptHashEnd
        - CryptHashGetDigestSize
        - CryptHashStart
        - GetPcrPointer
        - PCRChanged
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:678,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:678,8'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
                - PCRChanged
            - BranchSide:      'tpm/src/subsystem/PCR.c:680,42'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
                - PCRChanged
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:675,15'
          Dst:             GetPcrPointer
        - Src:             'tpm/src/subsystem/PCR.c:680,19'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/PCR.c:681,9'
          Dst:             CryptHashStart
        - Src:             'tpm/src/subsystem/PCR.c:682,9'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/subsystem/PCR.c:683,9'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/subsystem/PCR.c:684,9'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/subsystem/PCR.c:687,9'
          Dst:             PCRChanged
    - functionName:    PcrDrtm
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - pcrHandle
        - hash
        - digest
      BBCount:         9
      ICount:          71
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - GetPcrPointer
        - MemorySet
        - PCRExtend
        - TPMIsStarted
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:416,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:416,8'
              BranchSideFuncs:
                - MemorySet
                - TPMIsStarted
                - PCRExtend
            - BranchSide:      'tpm/src/subsystem/PCR.c:419,19'
              BranchSideFuncs:
                - MemorySet
                - TPMIsStarted
                - PCRExtend
        - Branch String:   'tpm/src/subsystem/PCR.c:422,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:424,13'
              BranchSideFuncs:
                - PCRExtend
            - BranchSide:      'tpm/src/subsystem/PCR.c:427,19'
              BranchSideFuncs:
                - PCRExtend
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:414,21'
          Dst:             GetPcrPointer
        - Src:             'tpm/src/subsystem/PCR.c:419,9'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/PCR.c:422,13'
          Dst:             TPMIsStarted
        - Src:             'tpm/src/subsystem/PCR.c:427,9'
          Dst:             PCRExtend
    - functionName:    PCRSimStart
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         19
      ICount:          108
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - CryptHashGetAlgByIndex
        - NvWrite
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:221,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:223,11'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - CryptHashGetAlgByIndex
            - BranchSide:      'tpm/src/subsystem/PCR.c:223,11'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - CryptHashGetAlgByIndex
        - Branch String:   'tpm/src/subsystem/PCR.c:223,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:225,32'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - CryptHashGetAlgByIndex
            - BranchSide:      'tpm/src/subsystem/PCR.c:230,11'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - CryptHashGetAlgByIndex
        - Branch String:   'tpm/src/subsystem/PCR.c:230,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:232,31'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - CryptHashGetAlgByIndex
            - BranchSide:      'tpm/src/subsystem/PCR.c:238,31'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - CryptHashGetAlgByIndex
        - Branch String:   'tpm/src/subsystem/PCR.c:238,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:242,52'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/PCR.c:251,5'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/subsystem/PCR.c:246,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:247,59'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - CryptHashGetAlgByIndex
            - BranchSide:      'tpm/src/subsystem/PCR.c:248,5'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - CryptHashGetAlgByIndex
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:242,13'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'tpm/src/subsystem/PCR.c:251,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/PCR.c:252,5'
          Dst:             NvWrite
    - functionName:    PCRGetAuthPolicy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - policy
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - PCRBelongsPolicyGroup
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:203,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:205,10'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:210,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:203,8'
          Dst:             PCRBelongsPolicyGroup
    - functionName:    PCRGetAuthValue
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - PCRBelongsAuthGroup
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PCR.c:182,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PCR.c:184,39'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PCR.c:188,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:182,8'
          Dst:             PCRBelongsAuthGroup
    - functionName:    PCRPolicyIsAvailable
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - PCRBelongsPolicyGroup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/PCR.c:171,12'
          Dst:             PCRBelongsPolicyGroup
    - functionName:    PhysicalPresenceCapGetCCList
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PP.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - commandCode
        - count
        - commandList
      BBCount:         17
      ICount:          105
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - GetClosestCommandIndex
        - GetCommandCode
        - GetNextCommandIndex
        - PhysicalPresenceIsRequired
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PP.c:142,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:143,15'
              BranchSideFuncs:
                - GetClosestCommandIndex
                - PhysicalPresenceIsRequired
                - GetNextCommandIndex
                - GetCommandCode
            - BranchSide:      'tpm/src/subsystem/PP.c:146,47'
              BranchSideFuncs:
                - GetClosestCommandIndex
                - PhysicalPresenceIsRequired
                - GetNextCommandIndex
                - GetCommandCode
        - Branch String:   'tpm/src/subsystem/PP.c:146,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:146,5'
              BranchSideFuncs:
                - PhysicalPresenceIsRequired
                - GetNextCommandIndex
                - GetCommandCode
            - BranchSide:      'tpm/src/subsystem/PP.c:150,39'
              BranchSideFuncs:
                - PhysicalPresenceIsRequired
                - GetNextCommandIndex
                - GetCommandCode
        - Branch String:   'tpm/src/subsystem/PP.c:150,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:152,16'
              BranchSideFuncs:
                - GetCommandCode
                - GetNextCommandIndex
                - PhysicalPresenceIsRequired
            - BranchSide:      'tpm/src/subsystem/PP.c:168,5'
              BranchSideFuncs:
                - GetNextCommandIndex
                - PhysicalPresenceIsRequired
                - GetCommandCode
        - Branch String:   'tpm/src/subsystem/PP.c:152,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:157,36'
              BranchSideFuncs:
                - GetCommandCode
                - GetNextCommandIndex
                - PhysicalPresenceIsRequired
            - BranchSide:      'tpm/src/subsystem/PP.c:164,22'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PP.c:146,24'
          Dst:             GetClosestCommandIndex
        - Src:             'tpm/src/subsystem/PP.c:150,12'
          Dst:             PhysicalPresenceIsRequired
        - Src:             'tpm/src/subsystem/PP.c:157,21'
          Dst:             GetCommandCode
        - Src:             'tpm/src/subsystem/PP.c:148,24'
          Dst:             GetNextCommandIndex
    - functionName:    PhysicalPresenceIsRequired
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PP.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TestBit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/PP.c:119,13'
          Dst:             TestBit
    - functionName:    PhysicalPresenceCommandClear
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PP.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - commandCode
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ClearBit
        - CommandCodeToCommandIndex
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PP.c:100,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:101,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PP.c:104,29'
              BranchSideFuncs:
                - ClearBit
        - Branch String:   'tpm/src/subsystem/PP.c:104,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:105,9'
              BranchSideFuncs:
                - ClearBit
            - BranchSide:      'tpm/src/subsystem/PP.c:107,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PP.c:97,34'
          Dst:             CommandCodeToCommandIndex
        - Src:             'tpm/src/subsystem/PP.c:105,9'
          Dst:             ClearBit
    - functionName:    PhysicalPresenceCommandSet
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PP.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - commandCode
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CommandCodeToCommandIndex
        - SetBit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PP.c:82,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:83,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/PP.c:86,28'
              BranchSideFuncs:
                - SetBit
        - Branch String:   'tpm/src/subsystem/PP.c:86,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:87,9'
              BranchSideFuncs:
                - SetBit
            - BranchSide:      'tpm/src/subsystem/PP.c:88,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/PP.c:79,34'
          Dst:             CommandCodeToCommandIndex
        - Src:             'tpm/src/subsystem/PP.c:87,9'
          Dst:             SetBit
    - functionName:    PhysicalPresencePreInstall_Init
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/PP.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - MemorySet
        - NvWrite
        - SetBit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/PP.c:57,19'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:59,5'
              BranchSideFuncs:
                - MemorySet
                - NvWrite
                - SetBit
            - BranchSide:      'tpm/src/subsystem/PP.c:59,5'
              BranchSideFuncs:
                - MemorySet
                - NvWrite
                - SetBit
        - Branch String:   'tpm/src/subsystem/PP.c:62,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:64,32'
              BranchSideFuncs:
                - NvWrite
                - SetBit
            - BranchSide:      'tpm/src/subsystem/PP.c:69,5'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/subsystem/PP.c:65,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:65,35'
              BranchSideFuncs:
                - NvWrite
                - SetBit
            - BranchSide:      'tpm/src/subsystem/PP.c:67,5'
              BranchSideFuncs:
                - NvWrite
                - SetBit
        - Branch String:   'tpm/src/subsystem/PP.c:64,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/PP.c:66,13'
              BranchSideFuncs:
                - SetBit
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/PP.c:67,5'
              BranchSideFuncs:
                - NvWrite
                - SetBit
      Callsites:
        - Src:             'tpm/src/subsystem/PP.c:59,5'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/PP.c:66,13'
          Dst:             SetBit
        - Src:             'tpm/src/subsystem/PP.c:69,5'
          Dst:             NvWrite
    - functionName:    SessionCapGetActiveAvail
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1014
      functionLinenumberEnd: 1025
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          46
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:1019,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:1021,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:1025,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:1021,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:1022,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:1023,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    SessionCapGetActiveNumber
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 994
      functionLinenumberEnd: 1005
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          46
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:999,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:1001,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:1005,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:1001,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:1002,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:1003,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    SessionCapGetLoadedAvail
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 985
      functionLinenumberEnd: 986
      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/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 973
      functionLinenumberEnd: 974
      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/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 921
      functionLinenumberEnd: 965
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - count
        - handleList
      BBCount:         24
      ICount:          133
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:926,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:926,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:932,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:935,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:936,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:939,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:939,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:939,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:942,28'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:942,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:945,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:963,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:945,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:947,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:962,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:947,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:951,61'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:958,26'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:926,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:926,5'
          Dst:             TpmFail
    - functionName:    SessionCapGetLoaded
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 856
      functionLinenumberEnd: 903
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - count
        - handleList
      BBCount:         27
      ICount:          159
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - HandleGetType
        - SessionGet
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:860,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:860,5'
              BranchSideFuncs:
                - SessionGet
            - BranchSide:      'tpm/src/subsystem/Session.c:863,5'
              BranchSideFuncs:
                - SessionGet
        - Branch String:   'tpm/src/subsystem/Session.c:866,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:867,15'
              BranchSideFuncs:
                - SessionGet
            - BranchSide:      'tpm/src/subsystem/Session.c:870,13'
              BranchSideFuncs:
                - SessionGet
        - Branch String:   'tpm/src/subsystem/Session.c:870,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:870,5'
              BranchSideFuncs:
                - SessionGet
            - BranchSide:      'tpm/src/subsystem/Session.c:873,28'
              BranchSideFuncs:
                - SessionGet
        - Branch String:   'tpm/src/subsystem/Session.c:873,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:876,32'
              BranchSideFuncs:
                - SessionGet
            - BranchSide:      'tpm/src/subsystem/Session.c:901,5'
              BranchSideFuncs:
                - SessionGet
        - Branch String:   'tpm/src/subsystem/Session.c:876,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:878,20'
              BranchSideFuncs:
                - SessionGet
            - BranchSide:      'tpm/src/subsystem/Session.c:900,9'
              BranchSideFuncs:
                - SessionGet
        - Branch String:   'tpm/src/subsystem/Session.c:878,20'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:885,31'
              BranchSideFuncs:
                - SessionGet
            - BranchSide:      'tpm/src/subsystem/Session.c:896,26'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:887,24'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:888,34'
              BranchSideFuncs:
                - SessionGet
            - BranchSide:      'tpm/src/subsystem/Session.c:889,61'
              BranchSideFuncs:
                - SessionGet
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:860,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:860,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:886,31'
          Dst:             SessionGet
    - functionName:    SessionGet
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         18
      ICount:          86
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    40
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:337,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:337,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:337,5'
              BranchSideFuncs:
                - HandleGetType
                - TpmFail
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:337,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:337,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:340,17'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:342,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:342,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:346,36'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:348,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:348,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:348,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:337,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:337,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:337,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:342,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:348,5'
          Dst:             TpmFail
    - functionName:    SessionResetPolicyData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 805
      functionLinenumberEnd: 840
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - session
      BBCount:         7
      ICount:          108
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - MemorySet
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:807,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:807,5'
              BranchSideFuncs:
                - MemorySet
                - MemorySet
                - MemorySet
            - BranchSide:      'tpm/src/subsystem/Session.c:807,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:807,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:816,5'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/Session.c:828,5'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/Session.c:831,5'
          Dst:             MemorySet
    - functionName:    SessionFlush
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 711
      functionLinenumberEnd: 749
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         26
      ICount:          129
      EdgeCount:       31
      CyclomaticComplexity: 7
      functionsReached:
        - ContextIdSetOldest
        - HandleGetType
        - SessionIsLoaded
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:715,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:715,5'
              BranchSideFuncs:
                - SessionIsLoaded
                - SessionIsSaved
                - TpmFail
                - TpmFail
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:715,5'
              BranchSideFuncs:
                - HandleGetType
                - TpmFail
                - SessionIsLoaded
                - SessionIsSaved
                - TpmFail
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:715,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:715,5'
              BranchSideFuncs:
                - SessionIsLoaded
                - SessionIsSaved
                - TpmFail
                - TpmFail
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:715,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:715,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:715,5'
              BranchSideFuncs:
                - TpmFail
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:715,5'
              BranchSideFuncs:
                - SessionIsSaved
                - TpmFail
                - TpmFail
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:715,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:715,5'
              BranchSideFuncs:
                - TpmFail
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:721,20'
              BranchSideFuncs:
                - TpmFail
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:723,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:723,5'
              BranchSideFuncs:
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:726,33'
              BranchSideFuncs:
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:732,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:735,12'
              BranchSideFuncs:
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:742,19'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:735,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:737,13'
              BranchSideFuncs:
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:738,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:715,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:715,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:715,5'
          Dst:             SessionIsLoaded
        - Src:             'tpm/src/subsystem/Session.c:715,5'
          Dst:             SessionIsSaved
        - Src:             'tpm/src/subsystem/Session.c:715,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:723,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:737,13'
          Dst:             ContextIdSetOldest
    - functionName:    SessionIsLoaded
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         18
      ICount:          85
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:239,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:239,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:239,5'
              BranchSideFuncs:
                - HandleGetType
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:239,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:239,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:242,14'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:246,38'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:246,57'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:248,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:247,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:247,27'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:248,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:246,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:248,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:250,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:239,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:239,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:239,5'
          Dst:             TpmFail
    - functionName:    SessionIsSaved
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         18
      ICount:          85
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:268,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:268,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:268,5'
              BranchSideFuncs:
                - HandleGetType
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:268,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:268,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:271,14'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:274,38'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:274,57'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:276,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:275,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:275,27'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:276,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:274,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:276,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:278,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:268,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:268,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:268,5'
          Dst:             TpmFail
    - functionName:    ContextIdSetOldest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:152,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:154,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:171,1'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:157,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:162,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:168,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:162,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:164,41'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:167,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    SessionContextLoad
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 652
      functionLinenumberEnd: 700
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - session
        - handle
      BBCount:         40
      ICount:          202
      EdgeCount:       49
      CyclomaticComplexity: 11
      functionsReached:
        - ContextIdSetOldest
        - HandleGetType
        - MemoryCopy
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:656,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:656,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:656,5'
              BranchSideFuncs:
                - HandleGetType
                - TpmFail
                - TpmFail
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:656,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:656,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:660,8'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:660,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:661,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:664,19'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:664,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:665,23'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:669,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:665,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:665,46'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:666,13'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:669,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:669,5'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:671,21'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:675,51'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:675,54'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:680,5'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:676,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:676,28'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:680,5'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:677,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:677,11'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:680,5'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:675,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:678,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:680,5'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:680,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:680,5'
              BranchSideFuncs:
                - MemoryCopy
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:684,37'
              BranchSideFuncs:
                - MemoryCopy
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:687,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:688,9'
              BranchSideFuncs:
                - ContextIdSetOldest
                - MemoryCopy
            - BranchSide:      'tpm/src/subsystem/Session.c:691,28'
              BranchSideFuncs:
                - MemoryCopy
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:656,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:656,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/subsystem/Session.c:656,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:669,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:680,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:688,9'
          Dst:             ContextIdSetOldest
        - Src:             'tpm/src/subsystem/Session.c:691,5'
          Dst:             MemoryCopy
    - functionName:    SessionContextSave
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 576
      functionLinenumberEnd: 632
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - contextID
      BBCount:         28
      ICount:          161
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - SessionIsLoaded
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:580,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:580,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:584,8'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:587,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:587,27'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:591,8'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:584,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:588,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:591,8'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:591,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:592,25'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:594,20'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:595,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:595,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:600,33'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:609,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:612,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:618,26'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:618,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:619,27'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:622,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:622,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:623,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:626,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:580,5'
          Dst:             SessionIsLoaded
        - Src:             'tpm/src/subsystem/Session.c:580,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:595,5'
          Dst:             TpmFail
    - functionName:    SessionComputeBoundEntity
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 762
      functionLinenumberEnd: 787
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - entityHandle
        - bind
      BBCount:         7
      ICount:          85
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - EntityGetAuthValue
        - EntityGetName
        - MemorySet
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:781,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:782,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:785,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:768,5'
          Dst:             EntityGetName
        - Src:             'tpm/src/subsystem/Session.c:776,5'
          Dst:             EntityGetAuthValue
        - Src:             'tpm/src/subsystem/Session.c:779,5'
          Dst:             MemorySet
    - functionName:    SessionSetStartTime
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 794
      functionLinenumberEnd: 798
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - session
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ContextIdSessionCreate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - handle
        - sessionIndex
      BBCount:         21
      ICount:          110
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:381,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:381,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:388,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:388,51'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:388,54'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:400,10'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:388,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:395,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:400,10'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:395,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:396,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:397,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:400,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:402,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:410,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:402,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:406,55'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:409,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:381,5'
          Dst:             TpmFail
    - functionName:    SessionCreate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 435
      functionLinenumberEnd: 557
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - char
        - short
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - sessionType
        - authHash
        - nonceCaller
        - symmetric
        - bind
        - seed
        - sessionHandle
        - nonceTpm
      BBCount:         53
      ICount:          411
      EdgeCount:       67
      CyclomaticComplexity: 16
      functionsReached:
        - ContextIdSessionCreate
        - CryptHashGetDigestSize
        - CryptKDFa
        - CryptRandomGenerate
        - EntityGetAuthValue
        - IsDAExempted
        - MemoryConcat2B
        - MemoryCopy2B
        - MemorySet
        - SessionComputeBoundEntity
        - SessionSetStartTime
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:440,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:440,5'
              BranchSideFuncs:
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:440,5'
              BranchSideFuncs:
                - TpmFail
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:440,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:440,5'
              BranchSideFuncs:
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:440,5'
              BranchSideFuncs:
                - TpmFail
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:440,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:440,5'
              BranchSideFuncs:
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:444,8'
              BranchSideFuncs:
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:444,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:445,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:448,19'
              BranchSideFuncs:
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:448,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:451,23'
              BranchSideFuncs:
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:458,8'
              BranchSideFuncs:
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:451,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:453,35'
              BranchSideFuncs:
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:456,5'
              BranchSideFuncs:
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - TpmFail
        - Branch String:   'tpm/src/subsystem/Session.c:458,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:459,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/subsystem/Session.c:463,37'
              BranchSideFuncs:
                - ContextIdSessionCreate
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
        - Branch String:   'tpm/src/subsystem/Session.c:464,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:465,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:470,23'
              BranchSideFuncs:
                - MemorySet
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
        - Branch String:   'tpm/src/subsystem/Session.c:479,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:481,10'
              BranchSideFuncs:
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
            - BranchSide:      'tpm/src/subsystem/Session.c:485,10'
              BranchSideFuncs:
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
        - Branch String:   'tpm/src/subsystem/Session.c:489,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:490,13'
              BranchSideFuncs:
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
            - BranchSide:      'tpm/src/subsystem/Session.c:492,29'
              BranchSideFuncs:
                - SessionSetStartTime
                - CryptHashGetDigestSize
                - CryptRandomGenerate
                - MemoryCopy2B
                - IsDAExempted
                - SessionComputeBoundEntity
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
        - Branch String:   'tpm/src/subsystem/Session.c:510,28'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:510,31'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - IsDAExempted
                - SessionComputeBoundEntity
            - BranchSide:      'tpm/src/subsystem/Session.c:520,61'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - IsDAExempted
                - SessionComputeBoundEntity
        - Branch String:   'tpm/src/subsystem/Session.c:510,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:520,61'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - EntityGetAuthValue
                - TpmFail
                - MemoryConcat2B
                - CryptKDFa
                - IsDAExempted
                - SessionComputeBoundEntity
            - BranchSide:      'tpm/src/subsystem/Session.c:543,8'
              BranchSideFuncs:
                - IsDAExempted
                - SessionComputeBoundEntity
        - Branch String:   'tpm/src/subsystem/Session.c:524,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:524,9'
              BranchSideFuncs:
                - MemoryConcat2B
                - CryptKDFa
                - IsDAExempted
                - SessionComputeBoundEntity
            - BranchSide:      'tpm/src/subsystem/Session.c:527,33'
              BranchSideFuncs:
                - MemoryConcat2B
                - CryptKDFa
                - IsDAExempted
                - SessionComputeBoundEntity
        - Branch String:   'tpm/src/subsystem/Session.c:543,28'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:543,31'
              BranchSideFuncs:
                - IsDAExempted
                - SessionComputeBoundEntity
            - BranchSide:      'tpm/src/subsystem/Session.c:550,38'
              BranchSideFuncs:
                - IsDAExempted
        - Branch String:   'tpm/src/subsystem/Session.c:543,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:545,9'
              BranchSideFuncs:
                - SessionComputeBoundEntity
                - IsDAExempted
            - BranchSide:      'tpm/src/subsystem/Session.c:550,38'
              BranchSideFuncs:
                - IsDAExempted
        - Branch String:   'tpm/src/subsystem/Session.c:551,37'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:551,54'
              BranchSideFuncs:
                - IsDAExempted
            - BranchSide:      'tpm/src/subsystem/Session.c:551,37'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:555,42'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:555,46'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:555,42'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:440,5'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:459,9'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:463,14'
          Dst:             ContextIdSessionCreate
        - Src:             'tpm/src/subsystem/Session.c:474,5'
          Dst:             MemorySet
        - Src:             'tpm/src/subsystem/Session.c:492,9'
          Dst:             SessionSetStartTime
        - Src:             'tpm/src/subsystem/Session.c:498,13'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/Session.c:502,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/subsystem/Session.c:503,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/subsystem/Session.c:520,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/subsystem/Session.c:523,9'
          Dst:             EntityGetAuthValue
        - Src:             'tpm/src/subsystem/Session.c:524,9'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Session.c:527,9'
          Dst:             MemoryConcat2B
        - Src:             'tpm/src/subsystem/Session.c:530,9'
          Dst:             CryptKDFa
        - Src:             'tpm/src/subsystem/Session.c:546,9'
          Dst:             SessionComputeBoundEntity
        - Src:             'tpm/src/subsystem/Session.c:551,41'
          Dst:             IsDAExempted
    - functionName:    SessionPCRValueIsCurrent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - session
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:320,33'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:320,36'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:323,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:320,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:321,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:323,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    SequenceNumberForSavedContextIsValid
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - context
      BBCount:         13
      ICount:          83
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:296,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:296,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:303,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:298,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:298,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:303,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:300,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:300,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:303,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:302,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:302,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:303,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:294,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:303,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:305,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    SessionStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - type
      BBCount:         24
      ICount:          115
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - ContextIdSetOldest
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Session.c:181,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:182,20'
              BranchSideFuncs:
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:185,24'
              BranchSideFuncs:
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:191,26'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:191,29'
              BranchSideFuncs:
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:195,15'
              BranchSideFuncs:
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:191,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:195,15'
              BranchSideFuncs:
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:210,15'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Session.c:195,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:200,32'
              BranchSideFuncs:
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:205,9'
              BranchSideFuncs:
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:200,16'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:201,33'
              BranchSideFuncs:
                - ContextIdSetOldest
            - BranchSide:      'tpm/src/subsystem/Session.c:202,9'
              BranchSideFuncs:
                - ContextIdSetOldest
        - Branch String:   'tpm/src/subsystem/Session.c:210,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Session.c:211,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Session.c:214,27'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/subsystem/Session.c:205,9'
          Dst:             ContextIdSetOldest
    - functionName:    TimeFillInfo
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - clockInfo
      BBCount:         4
      ICount:          38
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Time.c:247,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:248,30'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Time.c:250,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    TimeGetMarshaled
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - dataBuffer
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_TIME_INFO_Marshal
        - TimeFillInfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/subsystem/Time.c:231,5'
          Dst:             TimeFillInfo
        - Src:             'tpm/src/subsystem/Time.c:234,12'
          Dst:             TPMS_TIME_INFO_Marshal
    - functionName:    TimeSetAdjustRate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - adjust
      BBCount:         12
      ICount:          58
      EdgeCount:       22
      CyclomaticComplexity: 12
      functionsReached:
        - TpmFail
        - _plat__ClockAdjustRate
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Time.c:189,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:192,13'
              BranchSideFuncs:
                - _plat__ClockAdjustRate
            - BranchSide:      'tpm/src/subsystem/Time.c:195,13'
              BranchSideFuncs:
                - _plat__ClockAdjustRate
            - BranchSide:      'tpm/src/subsystem/Time.c:198,13'
              BranchSideFuncs:
                - _plat__ClockAdjustRate
            - BranchSide:      'tpm/src/subsystem/Time.c:201,13'
              BranchSideFuncs:
                - _plat__ClockAdjustRate
            - BranchSide:      'tpm/src/subsystem/Time.c:204,13'
              BranchSideFuncs:
                - _plat__ClockAdjustRate
            - BranchSide:      'tpm/src/subsystem/Time.c:207,13'
              BranchSideFuncs:
                - _plat__ClockAdjustRate
            - BranchSide:      'tpm/src/subsystem/Time.c:210,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Time.c:212,13'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/subsystem/Time.c:192,13'
          Dst:             _plat__ClockAdjustRate
        - Src:             'tpm/src/subsystem/Time.c:195,13'
          Dst:             _plat__ClockAdjustRate
        - Src:             'tpm/src/subsystem/Time.c:198,13'
          Dst:             _plat__ClockAdjustRate
        - Src:             'tpm/src/subsystem/Time.c:201,13'
          Dst:             _plat__ClockAdjustRate
        - Src:             'tpm/src/subsystem/Time.c:204,13'
          Dst:             _plat__ClockAdjustRate
        - Src:             'tpm/src/subsystem/Time.c:207,13'
          Dst:             _plat__ClockAdjustRate
        - Src:             'tpm/src/subsystem/Time.c:212,13'
          Dst:             TpmFail
    - functionName:    TimeUpdateToCurrent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          33
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMIsStarted
        - TimeUpdate
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Time.c:178,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:178,9'
              BranchSideFuncs:
                - TPMIsStarted
                - TimeUpdate
            - BranchSide:      'tpm/src/subsystem/Time.c:178,9'
              BranchSideFuncs:
                - TPMIsStarted
                - TimeUpdate
        - Branch String:   'tpm/src/subsystem/Time.c:178,25'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:178,29'
              BranchSideFuncs:
                - TPMIsStarted
                - TimeUpdate
            - BranchSide:      'tpm/src/subsystem/Time.c:179,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Time.c:178,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:179,9'
              BranchSideFuncs:
                - TimeUpdate
            - BranchSide:      'tpm/src/subsystem/Time.c:181,5'
              BranchSideFuncs:
                - TimeUpdate
      Callsites:
        - Src:             'tpm/src/subsystem/Time.c:178,29'
          Dst:             TPMIsStarted
        - Src:             'tpm/src/subsystem/Time.c:181,5'
          Dst:             TimeUpdate
    - functionName:    TimeUpdate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DASelfHeal
        - TimeClockUpdate
        - TimeNewEpoch
        - _plat__TimerRead
        - _plat__TimerWasStopped
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Time.c:136,12'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:139,8'
              BranchSideFuncs:
                - _plat__TimerWasStopped
                - _plat__TimerRead
                - TimeClockUpdate
                - DASelfHeal
                - TimeNewEpoch
            - BranchSide:      'tpm/src/subsystem/Time.c:139,8'
              BranchSideFuncs:
                - _plat__TimerWasStopped
                - _plat__TimerRead
                - TimeClockUpdate
                - DASelfHeal
                - TimeNewEpoch
        - Branch String:   'tpm/src/subsystem/Time.c:139,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:139,8'
              BranchSideFuncs:
                - TimeNewEpoch
                - _plat__TimerRead
                - TimeClockUpdate
                - DASelfHeal
            - BranchSide:      'tpm/src/subsystem/Time.c:141,9'
              BranchSideFuncs:
                - TimeNewEpoch
                - _plat__TimerRead
                - TimeClockUpdate
                - DASelfHeal
      Callsites:
        - Src:             'tpm/src/subsystem/Time.c:139,8'
          Dst:             _plat__TimerWasStopped
        - Src:             'tpm/src/subsystem/Time.c:141,9'
          Dst:             TimeNewEpoch
        - Src:             'tpm/src/subsystem/Time.c:145,15'
          Dst:             _plat__TimerRead
        - Src:             'tpm/src/subsystem/Time.c:151,5'
          Dst:             TimeClockUpdate
        - Src:             'tpm/src/subsystem/Time.c:154,5'
          Dst:             DASelfHeal
    - functionName:    TimeNewEpoch
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvWrite
        - _plat__TimerWasStopped
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Time.c:70,17'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:70,17'
              BranchSideFuncs:
                - NvWrite
                - _plat__TimerWasStopped
            - BranchSide:      'tpm/src/subsystem/Time.c:70,17'
              BranchSideFuncs:
                - NvWrite
                - _plat__TimerWasStopped
      Callsites:
        - Src:             'tpm/src/subsystem/Time.c:71,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Time.c:74,5'
          Dst:             _plat__TimerWasStopped
    - functionName:    TimeClockUpdate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - newTime
      BBCount:         10
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - NvWrite
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Time.c:109,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:111,9'
              BranchSideFuncs:
                - TpmFail
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/Time.c:123,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Time.c:111,9'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:111,9'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/Time.c:114,22'
              BranchSideFuncs:
                - NvWrite
      Callsites:
        - Src:             'tpm/src/subsystem/Time.c:111,9'
          Dst:             TpmFail
        - Src:             'tpm/src/subsystem/Time.c:119,9'
          Dst:             NvWrite
    - functionName:    TimeStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - type
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Time.c:92,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:92,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Time.c:93,22'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    TimePowerOn
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__TimerRead
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Time.c:57,14'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Time.c:57,14'
              BranchSideFuncs:
                - _plat__TimerRead
            - BranchSide:      'tpm/src/subsystem/Time.c:57,14'
              BranchSideFuncs:
                - _plat__TimerRead
      Callsites:
        - Src:             'tpm/src/subsystem/Time.c:57,14'
          Dst:             _plat__TimerRead
    - functionName:    ClearBit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Bits.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - bitNum
        - bArray
        - bytesInArray
      BBCount:         7
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    46
      BranchProfiles:
        - Branch String:   'tpm/src/support/Bits.c:83,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Bits.c:83,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Bits.c:83,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/support/Bits.c:83,5'
          Dst:             TpmFail
    - functionName:    SetBit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Bits.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - bitNum
        - bArray
        - bytesInArray
      BBCount:         7
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    12
      BranchProfiles:
        - Branch String:   'tpm/src/support/Bits.c:72,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Bits.c:72,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Bits.c:72,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/support/Bits.c:72,5'
          Dst:             TpmFail
    - functionName:    TestBit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Bits.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - bitNum
        - bArray
        - bytesInArray
      BBCount:         7
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    49
      BranchProfiles:
        - Branch String:   'tpm/src/support/Bits.c:61,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Bits.c:61,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Bits.c:61,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/support/Bits.c:61,5'
          Dst:             TpmFail
    - functionName:    IsVendorCommand
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 530
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CommandCapGetCCList
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 488
      functionLinenumberEnd: 519
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - commandCode
        - count
        - commandList
      BBCount:         11
      ICount:          80
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - GetClosestCommandIndex
        - GetNextCommandIndex
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:495,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:495,5'
              BranchSideFuncs:
                - GetNextCommandIndex
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:504,12'
              BranchSideFuncs:
                - GetNextCommandIndex
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:504,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:508,26'
              BranchSideFuncs:
                - GetNextCommandIndex
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:515,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/CommandCodeAttributes.c:495,24'
          Dst:             GetClosestCommandIndex
        - Src:             'tpm/src/support/CommandCodeAttributes.c:497,24'
          Dst:             GetNextCommandIndex
    - functionName:    GetClosestCommandIndex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - commandCode
      BBCount:         40
      ICount:          291
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - TpmFail
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:103,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:104,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:109,8'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:109,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:123,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:173,8'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:123,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:128,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:131,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:131,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:134,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:136,22'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:142,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:144,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:158,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:147,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:148,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:149,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:149,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:150,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:152,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:158,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:159,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:164,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:173,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:185,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:193,8'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:193,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:195,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:200,23'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:210,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:210,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:213,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:213,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:215,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:229,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:218,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:219,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:220,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:220,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:221,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:223,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:229,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:230,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:235,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/CommandCodeAttributes.c:210,9'
          Dst:             TpmFail
    - functionName:    GetNextCommandIndex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 298
      functionLinenumberEnd: 307
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         5
      ICount:          28
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:299,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:304,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:306,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    IsReadOperation
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         12
      ICount:          55
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:456,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:458,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:472,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:458,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:467,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:467,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:467,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:467,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:469,17'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    IsWriteOperation
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 412
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         14
      ICount:          63
      EdgeCount:       27
      CyclomaticComplexity: 15
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:416,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:418,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:442,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:418,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:437,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:437,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:437,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:437,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:437,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:437,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:439,17'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    IsHandleInResponse
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsSessionAllowed
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    DecryptSize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:380,13'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:380,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:381,36'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    EncryptSize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:365,13'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:365,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:366,36'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CommandAuthRole
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - commandIndex
        - handleIndex
      BBCount:         16
      ICount:          89
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:335,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:338,61'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:347,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:340,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:341,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:342,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:342,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:343,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:344,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:344,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:345,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:346,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:349,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:350,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:351,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    GetCommandCode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - commandIndex
      BBCount:         4
      ICount:          36
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:316,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:316,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:317,21'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CommandCodeToCommandIndex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 287
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - commandCode
      BBCount:         12
      ICount:          80
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - GetClosestCommandIndex
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:280,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:280,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:282,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:284,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:284,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:285,26'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/CommandCodeAttributes.c:282,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:285,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/CommandCodeAttributes.c:286,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/CommandCodeAttributes.c:276,20'
          Dst:             GetClosestCommandIndex
    - functionName:    EntityGetHierarchy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Entity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 489
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         31
      ICount:          144
      EdgeCount:       32
      CyclomaticComplexity: 3
      functionsReached:
        - HandleGetType
        - HandleToObject
        - NvGetIndexInfo
        - TpmFail
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/support/Entity.c:427,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:431,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:448,52'
              BranchSideFuncs:
                - NvGetIndexInfo
                - TpmFail
            - BranchSide:      'tpm/src/support/Entity.c:465,41'
              BranchSideFuncs:
                - HandleToObject
            - BranchSide:      'tpm/src/support/Entity.c:481,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:484,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Entity.c:431,13'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:436,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:436,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:436,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:441,31'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Entity.c:449,17'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:449,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:454,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Entity.c:454,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:456,31'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:458,31'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Entity.c:466,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:468,31'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:470,25'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Entity.c:470,25'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:472,31'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:474,25'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Entity.c:427,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/support/Entity.c:448,37'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/support/Entity.c:449,17'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Entity.c:465,26'
          Dst:             HandleToObject
        - Src:             'tpm/src/support/Entity.c:484,13'
          Dst:             TpmFail
    - functionName:    EntityGetName
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Entity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 388
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - name
      BBCount:         10
      ICount:          72
      EdgeCount:       10
      CyclomaticComplexity: 2
      functionsReached:
        - HandleGetType
        - HandleToObject
        - NvGetNameByIndexHandle
        - Uint32ToByteArray
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/support/Entity.c:389,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:394,45'
              BranchSideFuncs:
                - HandleToObject
            - BranchSide:      'tpm/src/support/Entity.c:404,36'
              BranchSideFuncs:
                - NvGetNameByIndexHandle
            - BranchSide:      'tpm/src/support/Entity.c:408,13'
              BranchSideFuncs:
                - Uint32ToByteArray
        - Branch String:   'tpm/src/support/Entity.c:396,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:397,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:399,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Entity.c:389,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/support/Entity.c:394,30'
          Dst:             HandleToObject
        - Src:             'tpm/src/support/Entity.c:404,13'
          Dst:             NvGetNameByIndexHandle
        - Src:             'tpm/src/support/Entity.c:409,13'
          Dst:             Uint32ToByteArray
    - functionName:    EntityGetAuthPolicy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Entity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - authPolicy
      BBCount:         21
      ICount:          149
      EdgeCount:       39
      CyclomaticComplexity: 20
      functionsReached:
        - HandleGetType
        - HandleToObject
        - NvGetIndexInfo
        - PCRGetAuthPolicy
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Entity.c:317,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:320,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:357,25'
              BranchSideFuncs:
                - HandleToObject
            - BranchSide:      'tpm/src/support/Entity.c:365,52'
              BranchSideFuncs:
                - NvGetIndexInfo
                - TpmFail
            - BranchSide:      'tpm/src/support/Entity.c:373,40'
              BranchSideFuncs:
                - PCRGetAuthPolicy
            - BranchSide:      'tpm/src/support/Entity.c:377,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Entity.c:320,13'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:324,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:329,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:334,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:339,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:348,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:348,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:350,29'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Entity.c:366,17'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:366,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:367,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Entity.c:317,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/support/Entity.c:357,34'
          Dst:             HandleToObject
        - Src:             'tpm/src/support/Entity.c:365,37'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/support/Entity.c:366,17'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Entity.c:373,23'
          Dst:             PCRGetAuthPolicy
        - Src:             'tpm/src/support/Entity.c:377,13'
          Dst:             TpmFail
    - functionName:    EntityGetAuthValue
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Entity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - auth
      BBCount:         31
      ICount:          159
      EdgeCount:       59
      CyclomaticComplexity: 30
      functionsReached:
        - HandleGetType
        - HandleToObject
        - MemoryCopy2B
        - MemoryRemoveTrailingZeros
        - NvGetIndexInfo
        - ObjectIsSequence
        - PCRGetAuthValue
        - TpmFail
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/support/Entity.c:211,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:215,20'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
                - TpmFail
            - BranchSide:      'tpm/src/support/Entity.c:259,41'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsSequence
                - TpmFail
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:278,52'
              BranchSideFuncs:
                - NvGetIndexInfo
                - TpmFail
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:285,37'
              BranchSideFuncs:
                - PCRGetAuthValue
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:290,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Entity.c:215,13'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:219,27'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:223,27'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:229,27'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:229,27'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:229,27'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:233,27'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:237,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:247,21'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Entity.c:261,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:263,45'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:270,21'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
        - Branch String:   'tpm/src/support/Entity.c:270,21'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:270,21'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:271,30'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
        - Branch String:   'tpm/src/support/Entity.c:279,17'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:279,17'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/support/Entity.c:280,26'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryRemoveTrailingZeros
      Callsites:
        - Src:             'tpm/src/support/Entity.c:211,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/support/Entity.c:247,21'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Entity.c:259,26'
          Dst:             HandleToObject
        - Src:             'tpm/src/support/Entity.c:261,20'
          Dst:             ObjectIsSequence
        - Src:             'tpm/src/support/Entity.c:270,21'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Entity.c:278,37'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/support/Entity.c:279,17'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Entity.c:285,21'
          Dst:             PCRGetAuthValue
        - Src:             'tpm/src/support/Entity.c:290,13'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Entity.c:294,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/support/Entity.c:295,5'
          Dst:             MemoryRemoveTrailingZeros
    - functionName:    EntityGetLoadStatus
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Entity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         64
      ICount:          298
      EdgeCount:       74
      CyclomaticComplexity: 12
      functionsReached:
        - AcIsAccessible
        - HandleGetType
        - IsObjectPresent
        - NvIndexIsAccessible
        - ObjectLoadEvict
        - RcSafeAddToResult
        - SessionGet
        - SessionIsLoaded
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Entity.c:60,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:60,5'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - RcSafeAddToResult
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
            - BranchSide:      'tpm/src/support/Entity.c:62,29'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - RcSafeAddToResult
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
        - Branch String:   'tpm/src/support/Entity.c:63,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:68,24'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:119,37'
              BranchSideFuncs:
                - IsObjectPresent
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:128,43'
              BranchSideFuncs:
                - ObjectLoadEvict
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:134,36'
              BranchSideFuncs:
                - SessionIsLoaded
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
                - SessionGet
            - BranchSide:      'tpm/src/support/Entity.c:149,36'
              BranchSideFuncs:
                - SessionIsLoaded
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
                - SessionGet
            - BranchSide:      'tpm/src/support/Entity.c:163,46'
              BranchSideFuncs:
                - NvIndexIsAccessible
                - HandleGetType
                - AcIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:168,17'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:172,41'
              BranchSideFuncs:
                - AcIsAccessible
                - HandleGetType
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:177,17'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Entity.c:68,17'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:71,32'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:79,32'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:83,29'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:99,25'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:99,25'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:99,25'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:99,25'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:99,25'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:105,37'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:71,28'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:72,36'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:73,25'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:79,28'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:80,36'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:81,25'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:83,28'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:84,36'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:85,25'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:106,28'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:106,40'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:112,36'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:105,28'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:108,36'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:112,36'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:119,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:120,28'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:121,17'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:134,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:137,42'
              BranchSideFuncs:
                - SessionGet
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:143,28'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:139,24'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:140,32'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:141,17'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:149,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:152,42'
              BranchSideFuncs:
                - SessionGet
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:158,28'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:154,24'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:155,32'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:156,17'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/support/Entity.c:180,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:182,16'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/support/Entity.c:188,5'
              BranchSideFuncs:
                - HandleGetType
                - AcIsAccessible
                - RcSafeAddToResult
                - NvIndexIsAccessible
                - SessionIsLoaded
                - SessionGet
                - SessionIsLoaded
                - SessionGet
                - ObjectLoadEvict
                - IsObjectPresent
                - TpmFail
        - Branch String:   'tpm/src/support/Entity.c:182,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Entity.c:183,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Entity.c:185,44'
              BranchSideFuncs:
                - RcSafeAddToResult
      Callsites:
        - Src:             'tpm/src/support/Entity.c:63,16'
          Dst:             HandleGetType
        - Src:             'tpm/src/support/Entity.c:119,21'
          Dst:             IsObjectPresent
        - Src:             'tpm/src/support/Entity.c:128,26'
          Dst:             ObjectLoadEvict
        - Src:             'tpm/src/support/Entity.c:134,20'
          Dst:             SessionIsLoaded
        - Src:             'tpm/src/support/Entity.c:137,31'
          Dst:             SessionGet
        - Src:             'tpm/src/support/Entity.c:149,20'
          Dst:             SessionIsLoaded
        - Src:             'tpm/src/support/Entity.c:152,31'
          Dst:             SessionGet
        - Src:             'tpm/src/support/Entity.c:163,26'
          Dst:             NvIndexIsAccessible
        - Src:             'tpm/src/support/Entity.c:172,26'
          Dst:             AcIsAccessible
        - Src:             'tpm/src/support/Entity.c:177,17'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Entity.c:185,26'
          Dst:             RcSafeAddToResult
    - functionName:    PermanentHandleGetPolicy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - count
        - policyList
      BBCount:         20
      ICount:          145
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - EntityGetAuthPolicy
        - HandleGetType
        - MemoryCopy
        - NextPermanentHandle
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Handle.c:157,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:157,5'
              BranchSideFuncs:
                - NextPermanentHandle
                - EntityGetAuthPolicy
                - MemoryCopy
                - NextPermanentHandle
            - BranchSide:      'tpm/src/support/Handle.c:160,5'
              BranchSideFuncs:
                - NextPermanentHandle
                - EntityGetAuthPolicy
                - MemoryCopy
                - NextPermanentHandle
        - Branch String:   'tpm/src/support/Handle.c:163,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:164,15'
              BranchSideFuncs:
                - NextPermanentHandle
                - EntityGetAuthPolicy
                - MemoryCopy
                - NextPermanentHandle
            - BranchSide:      'tpm/src/support/Handle.c:167,38'
              BranchSideFuncs:
                - NextPermanentHandle
                - EntityGetAuthPolicy
                - MemoryCopy
                - NextPermanentHandle
        - Branch String:   'tpm/src/support/Handle.c:167,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:167,5'
              BranchSideFuncs:
                - EntityGetAuthPolicy
                - MemoryCopy
                - NextPermanentHandle
            - BranchSide:      'tpm/src/support/Handle.c:173,41'
              BranchSideFuncs:
                - EntityGetAuthPolicy
                - MemoryCopy
                - NextPermanentHandle
        - Branch String:   'tpm/src/support/Handle.c:174,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:175,13'
              BranchSideFuncs:
                - NextPermanentHandle
                - EntityGetAuthPolicy
                - MemoryCopy
            - BranchSide:      'tpm/src/support/Handle.c:176,12'
              BranchSideFuncs:
                - MemoryCopy
                - NextPermanentHandle
                - EntityGetAuthPolicy
        - Branch String:   'tpm/src/support/Handle.c:176,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:180,74'
              BranchSideFuncs:
                - MemoryCopy
                - NextPermanentHandle
                - EntityGetAuthPolicy
            - BranchSide:      'tpm/src/support/Handle.c:191,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Handle.c:157,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/support/Handle.c:157,5'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Handle.c:167,18'
          Dst:             NextPermanentHandle
        - Src:             'tpm/src/support/Handle.c:173,21'
          Dst:             EntityGetAuthPolicy
        - Src:             'tpm/src/support/Handle.c:182,13'
          Dst:             MemoryCopy
        - Src:             'tpm/src/support/Handle.c:168,18'
          Dst:             NextPermanentHandle
    - functionName:    HandleGetType
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - handle
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    49
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NextPermanentHandle
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - inHandle
      BBCount:         21
      ICount:          84
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/support/Handle.c:63,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:64,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:67,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Handle.c:67,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:69,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:93,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Handle.c:69,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:86,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:86,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:86,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:86,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:86,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:86,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:86,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:86,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:86,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Handle.c:89,17'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PermanentCapGetHandles
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - count
        - handleList
      BBCount:         18
      ICount:          104
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - HandleGetType
        - NextPermanentHandle
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Handle.c:112,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:112,5'
              BranchSideFuncs:
                - NextPermanentHandle
                - NextPermanentHandle
            - BranchSide:      'tpm/src/support/Handle.c:115,5'
              BranchSideFuncs:
                - NextPermanentHandle
                - NextPermanentHandle
        - Branch String:   'tpm/src/support/Handle.c:118,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:119,15'
              BranchSideFuncs:
                - NextPermanentHandle
                - NextPermanentHandle
            - BranchSide:      'tpm/src/support/Handle.c:122,33'
              BranchSideFuncs:
                - NextPermanentHandle
                - NextPermanentHandle
        - Branch String:   'tpm/src/support/Handle.c:122,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:122,5'
              BranchSideFuncs:
                - NextPermanentHandle
            - BranchSide:      'tpm/src/support/Handle.c:124,12'
              BranchSideFuncs:
                - NextPermanentHandle
        - Branch String:   'tpm/src/support/Handle.c:124,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Handle.c:128,53'
              BranchSideFuncs:
                - NextPermanentHandle
            - BranchSide:      'tpm/src/support/Handle.c:135,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Handle.c:112,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/support/Handle.c:112,5'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Handle.c:122,13'
          Dst:             NextPermanentHandle
        - Src:             'tpm/src/support/Handle.c:122,54'
          Dst:             NextPermanentHandle
    - functionName:    TpmEndSimulation
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Manufacture.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - EccSimulationEnd
        - RsaSimulationEnd
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Manufacture.c:170,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Manufacture.c:170,5'
              BranchSideFuncs:
                - RsaSimulationEnd
                - EccSimulationEnd
            - BranchSide:      'tpm/src/support/Manufacture.c:170,5'
              BranchSideFuncs:
                - RsaSimulationEnd
                - EccSimulationEnd
      Callsites:
        - Src:             'tpm/src/support/Manufacture.c:170,5'
          Dst:             RsaSimulationEnd
        - Src:             'tpm/src/support/Manufacture.c:173,5'
          Dst:             EccSimulationEnd
    - functionName:    TPM_TearDown
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/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:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM_Manufacture
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Manufacture.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - firstTime
      BBCount:         11
      ICount:          73
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CommandAuditPreInstall_Init
        - CryptInit
        - CryptStartup
        - DAPreInstall_Init
        - HierarchyPreInstall_Init
        - MathLibraryCompatibilityCheck
        - NvCommit
        - NvManufacture
        - NvWrite
        - PCRSimStart
        - PhysicalPresencePreInstall_Init
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Manufacture.c:70,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Manufacture.c:71,9'
              BranchSideFuncs:
                - CryptInit
                - NvManufacture
                - CryptStartup
                - PCRSimStart
                - HierarchyPreInstall_Init
                - DAPreInstall_Init
                - PhysicalPresencePreInstall_Init
                - CommandAuditPreInstall_Init
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvCommit
            - BranchSide:      'tpm/src/support/Manufacture.c:75,9'
              BranchSideFuncs:
                - CryptInit
                - NvManufacture
                - CryptStartup
                - PCRSimStart
                - HierarchyPreInstall_Init
                - DAPreInstall_Init
                - PhysicalPresencePreInstall_Init
                - CommandAuditPreInstall_Init
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvCommit
        - Branch String:   'tpm/src/support/Manufacture.c:75,19'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Manufacture.c:75,22'
              BranchSideFuncs:
                - CryptInit
                - NvManufacture
                - CryptStartup
                - PCRSimStart
                - HierarchyPreInstall_Init
                - DAPreInstall_Init
                - PhysicalPresencePreInstall_Init
                - CommandAuditPreInstall_Init
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvCommit
            - BranchSide:      'tpm/src/support/Manufacture.c:79,5'
              BranchSideFuncs:
                - CryptInit
                - NvManufacture
                - CryptStartup
                - PCRSimStart
                - HierarchyPreInstall_Init
                - DAPreInstall_Init
                - PhysicalPresencePreInstall_Init
                - CommandAuditPreInstall_Init
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvCommit
        - Branch String:   'tpm/src/support/Manufacture.c:75,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Manufacture.c:76,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Manufacture.c:79,5'
              BranchSideFuncs:
                - CryptInit
                - NvManufacture
                - CryptStartup
                - PCRSimStart
                - HierarchyPreInstall_Init
                - DAPreInstall_Init
                - PhysicalPresencePreInstall_Init
                - CommandAuditPreInstall_Init
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvCommit
      Callsites:
        - Src:             'tpm/src/support/Manufacture.c:70,9'
          Dst:             MathLibraryCompatibilityCheck
        - Src:             'tpm/src/support/Manufacture.c:79,5'
          Dst:             CryptInit
        - Src:             'tpm/src/support/Manufacture.c:84,5'
          Dst:             NvManufacture
        - Src:             'tpm/src/support/Manufacture.c:89,5'
          Dst:             CryptStartup
        - Src:             'tpm/src/support/Manufacture.c:92,5'
          Dst:             PCRSimStart
        - Src:             'tpm/src/support/Manufacture.c:97,5'
          Dst:             HierarchyPreInstall_Init
        - Src:             'tpm/src/support/Manufacture.c:100,5'
          Dst:             DAPreInstall_Init
        - Src:             'tpm/src/support/Manufacture.c:103,5'
          Dst:             PhysicalPresencePreInstall_Init
        - Src:             'tpm/src/support/Manufacture.c:106,5'
          Dst:             CommandAuditPreInstall_Init
        - Src:             'tpm/src/support/Manufacture.c:110,5'
          Dst:             NvWrite
        - Src:             'tpm/src/support/Manufacture.c:119,5'
          Dst:             NvWrite
        - Src:             'tpm/src/support/Manufacture.c:120,5'
          Dst:             NvWrite
        - Src:             'tpm/src/support/Manufacture.c:124,5'
          Dst:             NvWrite
        - Src:             'tpm/src/support/Manufacture.c:130,5'
          Dst:             NvWrite
        - Src:             'tpm/src/support/Manufacture.c:137,5'
          Dst:             NvCommit
    - functionName:    TPM_HANDLE_Array_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6900
      functionLinenumberEnd: 6908
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - count
      BBCount:         10
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6903,69'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6903,73'
              BranchSideFuncs:
                - UINT32_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6903,5'
              BranchSideFuncs:
                - UINT32_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6903,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6906,18'
              BranchSideFuncs:
                - UINT32_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6908,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6906,18'
          Dst:             UINT32_Unmarshal
    - functionName:    UINT32_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ByteArrayToUint32
      functionUses:    45
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:141,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:142,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:143,15'
              BranchSideFuncs:
                - ByteArrayToUint32
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:143,15'
          Dst:             ByteArrayToUint32
    - functionName:    TPM_ECC_CURVE_Array_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6872
      functionLinenumberEnd: 6880
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - count
      BBCount:         10
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ECC_CURVE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6875,69'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6875,73'
              BranchSideFuncs:
                - TPM_ECC_CURVE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6875,5'
              BranchSideFuncs:
                - TPM_ECC_CURVE_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6875,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6878,43'
              BranchSideFuncs:
                - TPM_ECC_CURVE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6880,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6878,18'
          Dst:             TPM_ECC_CURVE_Unmarshal
    - functionName:    TPM_ECC_CURVE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 333
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         17
      ICount:          81
      EdgeCount:       17
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:315,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:315,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:317,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:317,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:327,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:327,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:327,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:327,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:327,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:327,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:327,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:327,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:329,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:314,14'
          Dst:             UINT16_Unmarshal
    - functionName:    UINT16_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ByteArrayToUint16
      functionUses:    63
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:102,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:103,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:104,15'
              BranchSideFuncs:
                - ByteArrayToUint16
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:104,15'
          Dst:             ByteArrayToUint16
    - functionName:    TPMS_AC_OUTPUT_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6692
      functionLinenumberEnd: 6699
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_AC_OUTPUT_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6695,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6697,27'
              BranchSideFuncs:
                - TPMS_AC_OUTPUT_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6699,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6697,36'
          Dst:             TPMS_AC_OUTPUT_Marshal
    - functionName:    TPMS_AC_OUTPUT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6583
      functionLinenumberEnd: 6588
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6585,32'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:6587,27'
          Dst:             UINT32_Marshal
    - functionName:    UINT32_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         19
      ICount:          86
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - TpmFail
        - Uint32ToByteArray
      functionUses:    50
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:150,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:150,8'
              BranchSideFuncs:
                - TpmFail
                - Uint32ToByteArray
            - BranchSide:      'tpm/src/support/Marshal.c:152,13'
              BranchSideFuncs:
                - TpmFail
                - Uint32ToByteArray
        - Branch String:   'tpm/src/support/Marshal.c:152,24'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:152,30'
              BranchSideFuncs:
                - Uint32ToByteArray
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:154,13'
              BranchSideFuncs:
                - Uint32ToByteArray
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:152,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:154,13'
              BranchSideFuncs:
                - Uint32ToByteArray
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:157,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:157,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:157,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:157,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:157,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:157,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:158,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:154,13'
          Dst:             Uint32ToByteArray
        - Src:             'tpm/src/support/Marshal.c:157,9'
          Dst:             TpmFail
    - functionName:    TPML_AC_CAPABILITIES_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6594
      functionLinenumberEnd: 6604
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_AC_OUTPUT_Array_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6597,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:6599,25'
          Dst:             TPMS_AC_OUTPUT_Array_Marshal
    - functionName:    TPM_AT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6544
      functionLinenumberEnd: 6561
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         13
      ICount:          64
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6547,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6547,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6549,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:6549,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6555,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6555,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6555,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6555,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6557,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6546,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPM2B_CREATION_DATA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6525
      functionLinenumberEnd: 6538
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_CREATION_DATA_Marshal
        - UINT16_Marshal
        - Uint16ToByteArray
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6536,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6536,8'
              BranchSideFuncs:
                - Uint16ToByteArray
            - BranchSide:      'tpm/src/support/Marshal.c:6537,9'
              BranchSideFuncs:
                - Uint16ToByteArray
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6529,14'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6533,20'
          Dst:             TPMS_CREATION_DATA_Marshal
        - Src:             'tpm/src/support/Marshal.c:6537,9'
          Dst:             Uint16ToByteArray
    - functionName:    UINT16_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         19
      ICount:          86
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - TpmFail
        - Uint16ToByteArray
      functionUses:    75
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:111,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:111,8'
              BranchSideFuncs:
                - TpmFail
                - Uint16ToByteArray
            - BranchSide:      'tpm/src/support/Marshal.c:113,13'
              BranchSideFuncs:
                - TpmFail
                - Uint16ToByteArray
        - Branch String:   'tpm/src/support/Marshal.c:113,24'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:113,30'
              BranchSideFuncs:
                - Uint16ToByteArray
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:115,13'
              BranchSideFuncs:
                - Uint16ToByteArray
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:113,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:115,13'
              BranchSideFuncs:
                - Uint16ToByteArray
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:118,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:118,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:118,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:118,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:118,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:118,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:119,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:115,13'
          Dst:             Uint16ToByteArray
        - Src:             'tpm/src/support/Marshal.c:118,9'
          Dst:             TpmFail
    - functionName:    TPMS_CREATION_DATA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6496
      functionLinenumberEnd: 6519
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          101
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DATA_Marshal
        - TPM2B_DIGEST_Marshal
        - TPM2B_NAME_Marshal
        - TPML_PCR_SELECTION_Marshal
        - UINT16_Marshal
        - UINT8_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6499,25'
          Dst:             TPML_PCR_SELECTION_Marshal
        - Src:             'tpm/src/support/Marshal.c:6502,25'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/support/Marshal.c:6505,25'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/support/Marshal.c:6508,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6511,25'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'tpm/src/support/Marshal.c:6514,25'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'tpm/src/support/Marshal.c:6517,25'
          Dst:             TPM2B_DATA_Marshal
    - functionName:    TPML_PCR_SELECTION_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2808
      functionLinenumberEnd: 2818
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_PCR_SELECTION_Array_Marshal
        - UINT32_Marshal
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2811,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2813,25'
          Dst:             TPMS_PCR_SELECTION_Array_Marshal
    - functionName:    TPM2B_DIGEST_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2071
      functionLinenumberEnd: 2084
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    27
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2076,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2077,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2078,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2074,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2079,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    UINT8_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         19
      ICount:          87
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - TpmFail
      functionUses:    13
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:58,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:58,8'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:60,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:60,24'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:60,30'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:62,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:60,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:62,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:65,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:65,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:65,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:65,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:65,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:65,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:66,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:65,9'
          Dst:             TpmFail
    - functionName:    TPM2B_NAME_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2345
      functionLinenumberEnd: 2357
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    8
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2350,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2351,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2353,18'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2348,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2354,20'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_DATA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2104
      functionLinenumberEnd: 2117
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2109,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2110,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2111,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2107,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2112,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    BYTE_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6620
      functionLinenumberEnd: 6631
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         23
      ICount:          109
      EdgeCount:       27
      CyclomaticComplexity: 6
      functionsReached:
        - TpmFail
      functionUses:    33
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6621,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6623,13'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:6630,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:6623,24'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6623,38'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:6625,21'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:6623,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6625,21'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:6628,9'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:6628,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6628,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:6628,9'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:6628,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6628,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:6629,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:6630,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6630,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6630,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6628,9'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Marshal.c:6630,5'
          Dst:             TpmFail
    - functionName:    TPMS_PCR_SELECTION_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6734
      functionLinenumberEnd: 6742
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_PCR_SELECTION_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6737,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6740,22'
              BranchSideFuncs:
                - TPMS_PCR_SELECTION_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6742,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6740,31'
          Dst:             TPMS_PCR_SELECTION_Marshal
    - functionName:    TPMS_PCR_SELECTION_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2418
      functionLinenumberEnd: 2430
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          62
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
        - UINT8_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2421,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2424,25'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/support/Marshal.c:2426,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMS_CONTEXT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6477
      functionLinenumberEnd: 6490
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          68
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_CONTEXT_DATA_Marshal
        - UINT32_Marshal
        - UINT64_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6480,27'
          Dst:             UINT64_Marshal
        - Src:             'tpm/src/support/Marshal.c:6482,25'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:6485,25'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:6488,25'
          Dst:             TPM2B_CONTEXT_DATA_Marshal
    - functionName:    UINT64_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         19
      ICount:          86
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - TpmFail
        - Uint64ToByteArray
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:189,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:189,8'
              BranchSideFuncs:
                - TpmFail
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/support/Marshal.c:191,13'
              BranchSideFuncs:
                - TpmFail
                - Uint64ToByteArray
        - Branch String:   'tpm/src/support/Marshal.c:191,24'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:191,30'
              BranchSideFuncs:
                - Uint64ToByteArray
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:193,13'
              BranchSideFuncs:
                - Uint64ToByteArray
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:191,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:193,13'
              BranchSideFuncs:
                - Uint64ToByteArray
                - TpmFail
            - BranchSide:      'tpm/src/support/Marshal.c:196,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:196,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:196,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:196,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Marshal.c:196,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:196,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:197,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:193,13'
          Dst:             Uint64ToByteArray
        - Src:             'tpm/src/support/Marshal.c:196,9'
          Dst:             TpmFail
    - functionName:    TPM2B_CONTEXT_DATA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6443
      functionLinenumberEnd: 6456
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6448,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6449,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6450,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6446,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6451,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMS_CONTEXT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6461
      functionLinenumberEnd: 6473
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPM2B_CONTEXT_DATA_Unmarshal
        - TPMI_DH_SAVED_Unmarshal
        - TPMI_RH_HIERARCHY_Unmarshal
        - UINT64_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6464,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6466,31'
              BranchSideFuncs:
                - TPMI_DH_SAVED_Unmarshal
                - TPM2B_CONTEXT_DATA_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6467,8'
              BranchSideFuncs:
                - TPM2B_CONTEXT_DATA_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6467,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6469,35'
              BranchSideFuncs:
                - TPMI_RH_HIERARCHY_Unmarshal
                - TPM2B_CONTEXT_DATA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6470,8'
              BranchSideFuncs:
                - TPM2B_CONTEXT_DATA_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6470,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6470,8'
              BranchSideFuncs:
                - TPM2B_CONTEXT_DATA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6472,36'
              BranchSideFuncs:
                - TPM2B_CONTEXT_DATA_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6463,14'
          Dst:             UINT64_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6465,18'
          Dst:             TPMI_DH_SAVED_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6468,18'
          Dst:             TPMI_RH_HIERARCHY_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6471,18'
          Dst:             TPM2B_CONTEXT_DATA_Unmarshal
    - functionName:    UINT64_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ByteArrayToUint64
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:180,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:181,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:182,15'
              BranchSideFuncs:
                - ByteArrayToUint64
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:182,15'
          Dst:             ByteArrayToUint64
    - functionName:    TPMI_DH_SAVED_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1037
      functionLinenumberEnd: 1056
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         23
      ICount:          102
      EdgeCount:       27
      CyclomaticComplexity: 6
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1040,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1040,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1042,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1042,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1047,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1047,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1047,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1049,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1049,52'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1049,57'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1050,26'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1050,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1050,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1053,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1051,24'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1051,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1052,28'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1049,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1052,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1053,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1039,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_HIERARCHY_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1070
      functionLinenumberEnd: 1090
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         16
      ICount:          77
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1073,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1073,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1075,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1075,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1080,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1080,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1080,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1082,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1086,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1082,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1083,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1084,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1072,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPM2B_CONTEXT_DATA_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6428
      functionLinenumberEnd: 6439
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6431,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6431,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6433,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6433,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6434,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6437,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6430,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6436,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    BYTE_Array_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6610
      functionLinenumberEnd: 6617
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - count
      BBCount:         4
      ICount:          51
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    31
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6611,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6612,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6613,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    TPMS_CONTEXT_DATA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6413
      functionLinenumberEnd: 6422
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_CONTEXT_SENSITIVE_Marshal
        - TPM2B_DIGEST_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6416,25'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/support/Marshal.c:6420,20'
          Dst:             TPM2B_CONTEXT_SENSITIVE_Marshal
    - functionName:    TPM2B_CONTEXT_SENSITIVE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6384
      functionLinenumberEnd: 6397
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6389,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6390,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6391,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6387,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6392,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMS_CONTEXT_DATA_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6402
      functionLinenumberEnd: 6409
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_CONTEXT_SENSITIVE_Unmarshal
        - TPM2B_DIGEST_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6406,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6406,8'
              BranchSideFuncs:
                - TPM2B_CONTEXT_SENSITIVE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6408,41'
              BranchSideFuncs:
                - TPM2B_CONTEXT_SENSITIVE_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6405,9'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6407,18'
          Dst:             TPM2B_CONTEXT_SENSITIVE_Unmarshal
    - functionName:    TPM2B_DIGEST_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2056
      functionLinenumberEnd: 2067
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    22
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2059,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2059,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2061,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2061,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2062,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2065,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2058,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2064,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_CONTEXT_SENSITIVE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6368
      functionLinenumberEnd: 6379
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6371,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6371,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6373,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6373,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6374,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6377,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6370,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6376,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_NV_PUBLIC_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6349
      functionLinenumberEnd: 6361
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_NV_PUBLIC_Marshal
        - UINT16_Marshal
        - Uint16ToByteArray
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6359,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6359,8'
              BranchSideFuncs:
                - Uint16ToByteArray
            - BranchSide:      'tpm/src/support/Marshal.c:6360,9'
              BranchSideFuncs:
                - Uint16ToByteArray
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6353,14'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6356,25'
          Dst:             TPMS_NV_PUBLIC_Marshal
        - Src:             'tpm/src/support/Marshal.c:6360,9'
          Dst:             Uint16ToByteArray
    - functionName:    TPMS_NV_PUBLIC_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6303
      functionLinenumberEnd: 6319
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          79
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - UINT16_Marshal
        - UINT32_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6306,25'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:6309,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6313,20'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:6315,25'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/support/Marshal.c:6318,27'
          Dst:             UINT16_Marshal
    - functionName:    TPM2B_NV_PUBLIC_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6325
      functionLinenumberEnd: 6345
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         15
      ICount:          91
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPMS_NV_PUBLIC_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6328,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6328,8'
              BranchSideFuncs:
                - TPMS_NV_PUBLIC_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6331,12'
              BranchSideFuncs:
                - TPMS_NV_PUBLIC_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6331,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6332,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6335,32'
              BranchSideFuncs:
                - TPMS_NV_PUBLIC_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6340,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6341,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6342,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6327,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6336,31'
          Dst:             TPMS_NV_PUBLIC_Unmarshal
    - functionName:    TPMS_NV_PUBLIC_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6283
      functionLinenumberEnd: 6299
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         20
      ICount:          125
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMA_NV_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
        - TPMI_RH_NV_INDEX_Unmarshal
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6287,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6289,31'
              BranchSideFuncs:
                - TPMI_ALG_HASH_Unmarshal
                - UINT16_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_NV_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6290,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_NV_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6290,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6291,48'
              BranchSideFuncs:
                - TPMA_NV_Unmarshal
                - UINT16_Unmarshal
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6292,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - TPM2B_DIGEST_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6292,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6294,30'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - UINT16_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6295,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6295,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6296,46'
              BranchSideFuncs:
                - UINT16_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6297,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:6297,35'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6297,39'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6297,35'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:6297,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6297,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6298,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6285,14'
          Dst:             TPMI_RH_NV_INDEX_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6288,18'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6291,18'
          Dst:             TPMA_NV_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6293,18'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6296,18'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_RH_NV_INDEX_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1340
      functionLinenumberEnd: 1348
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1343,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1343,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1345,14'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1345,39'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1345,44'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1346,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1345,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1346,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1347,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1342,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_ALG_HASH_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1396
      functionLinenumberEnd: 1437
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         16
      ICount:          78
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    11
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1399,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1399,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1401,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1401,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1427,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1427,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1427,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1429,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1433,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1429,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1430,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1431,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1398,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMA_NV_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6261
      functionLinenumberEnd: 6269
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6264,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6264,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6266,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:6266,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6267,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6268,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6263,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMS_NV_PIN_COUNTER_PARAMETERS_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6249
      functionLinenumberEnd: 6255
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6252,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:6254,27'
          Dst:             UINT32_Marshal
    - functionName:    TPMS_NV_PIN_COUNTER_PARAMETERS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6239
      functionLinenumberEnd: 6244
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6242,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6242,8'
              BranchSideFuncs:
                - UINT32_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6243,46'
              BranchSideFuncs:
                - UINT32_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6241,14'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6243,18'
          Dst:             UINT32_Unmarshal
    - functionName:    TPM2B_ID_OBJECT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6210
      functionLinenumberEnd: 6223
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6215,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6216,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6217,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6213,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6218,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_ID_OBJECT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6195
      functionLinenumberEnd: 6206
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6198,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6198,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6200,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6200,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6201,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6204,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6197,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6203,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_PRIVATE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6176
      functionLinenumberEnd: 6189
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6181,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6182,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6183,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6179,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6184,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_PRIVATE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6161
      functionLinenumberEnd: 6172
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6164,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6164,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6166,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6166,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6167,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6170,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6163,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6169,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_SENSITIVE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6142
      functionLinenumberEnd: 6154
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMT_SENSITIVE_Marshal
        - UINT16_Marshal
        - Uint16ToByteArray
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6152,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6152,8'
              BranchSideFuncs:
                - Uint16ToByteArray
            - BranchSide:      'tpm/src/support/Marshal.c:6153,9'
              BranchSideFuncs:
                - Uint16ToByteArray
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6146,14'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6149,25'
          Dst:             TPMT_SENSITIVE_Marshal
        - Src:             'tpm/src/support/Marshal.c:6153,9'
          Dst:             Uint16ToByteArray
    - functionName:    TPMT_SENSITIVE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6099
      functionLinenumberEnd: 6116
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          72
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPMU_SENSITIVE_COMPOSITE_Marshal
        - UINT16_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6102,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6105,25'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/support/Marshal.c:6108,25'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/support/Marshal.c:6111,25'
          Dst:             TPMU_SENSITIVE_COMPOSITE_Marshal
    - functionName:    TPMU_SENSITIVE_COMPOSITE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6049
      functionLinenumberEnd: 6074
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          70
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPM2B_ECC_PARAMETER_Marshal
        - TPM2B_PRIVATE_KEY_RSA_Marshal
        - TPM2B_SENSITIVE_DATA_Marshal
        - TPM2B_SYM_KEY_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6050,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6055,43'
              BranchSideFuncs:
                - TPM2B_PRIVATE_KEY_RSA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6060,41'
              BranchSideFuncs:
                - TPM2B_ECC_PARAMETER_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6065,42'
              BranchSideFuncs:
                - TPM2B_SENSITIVE_DATA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6070,35'
              BranchSideFuncs:
                - TPM2B_SYM_KEY_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6073,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6054,20'
          Dst:             TPM2B_PRIVATE_KEY_RSA_Marshal
        - Src:             'tpm/src/support/Marshal.c:6059,20'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'tpm/src/support/Marshal.c:6064,20'
          Dst:             TPM2B_SENSITIVE_DATA_Marshal
        - Src:             'tpm/src/support/Marshal.c:6069,20'
          Dst:             TPM2B_SYM_KEY_Marshal
    - functionName:    TPM2B_PRIVATE_KEY_RSA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4905
      functionLinenumberEnd: 4918
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4910,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4911,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4912,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4908,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:4913,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_ECC_PARAMETER_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4939
      functionLinenumberEnd: 4952
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    12
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4944,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4945,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4946,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4942,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:4947,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_SENSITIVE_DATA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3805
      functionLinenumberEnd: 3818
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3810,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3811,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3812,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3808,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3813,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_SYM_KEY_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3665
      functionLinenumberEnd: 3678
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3670,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3671,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3672,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3668,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3673,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_SENSITIVE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6122
      functionLinenumberEnd: 6138
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         14
      ICount:          89
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - TPMT_SENSITIVE_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6127,35'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6127,39'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6127,35'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:6127,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6127,8'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6129,28'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6132,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6134,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6137,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:6134,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6135,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6136,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6124,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6130,27'
          Dst:             TPMT_SENSITIVE_Unmarshal
    - functionName:    TPMT_SENSITIVE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6079
      functionLinenumberEnd: 6095
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          87
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMI_ALG_PUBLIC_Unmarshal
        - TPMU_SENSITIVE_COMPOSITE_Unmarshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6083,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6085,13'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMU_SENSITIVE_COMPOSITE_Unmarshal
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6086,8'
              BranchSideFuncs:
                - TPMU_SENSITIVE_COMPOSITE_Unmarshal
                - TPM2B_DIGEST_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6086,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6088,53'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMU_SENSITIVE_COMPOSITE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6089,8'
              BranchSideFuncs:
                - TPMU_SENSITIVE_COMPOSITE_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6089,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6089,8'
              BranchSideFuncs:
                - TPMU_SENSITIVE_COMPOSITE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6091,42'
              BranchSideFuncs:
                - TPMU_SENSITIVE_COMPOSITE_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6081,14'
          Dst:             TPMI_ALG_PUBLIC_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6085,13'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6088,13'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6090,18'
          Dst:             TPMU_SENSITIVE_COMPOSITE_Unmarshal
    - functionName:    TPMI_ALG_PUBLIC_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5572
      functionLinenumberEnd: 5597
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         13
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5575,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5575,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5577,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:5577,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5591,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5591,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5591,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5591,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5593,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5574,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMU_SENSITIVE_COMPOSITE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6020
      functionLinenumberEnd: 6045
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          70
      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:   'tpm/src/support/Marshal.c:6021,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6026,43'
              BranchSideFuncs:
                - TPM2B_PRIVATE_KEY_RSA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6031,41'
              BranchSideFuncs:
                - TPM2B_ECC_PARAMETER_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6036,42'
              BranchSideFuncs:
                - TPM2B_SENSITIVE_DATA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6041,35'
              BranchSideFuncs:
                - TPM2B_SYM_KEY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6044,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6025,20'
          Dst:             TPM2B_PRIVATE_KEY_RSA_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6030,20'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6035,20'
          Dst:             TPM2B_SENSITIVE_DATA_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:6040,20'
          Dst:             TPM2B_SYM_KEY_Unmarshal
    - functionName:    TPM2B_PRIVATE_KEY_RSA_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4889
      functionLinenumberEnd: 4900
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4892,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4892,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4894,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:4894,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4895,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4898,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4891,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4897,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_ECC_PARAMETER_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4924
      functionLinenumberEnd: 4935
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4927,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4927,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4929,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:4929,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4930,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4933,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4926,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4932,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_SENSITIVE_DATA_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3790
      functionLinenumberEnd: 3801
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3793,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3793,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3795,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:3795,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3796,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3799,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3792,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3798,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_SYM_KEY_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3650
      functionLinenumberEnd: 3661
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3653,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3653,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3655,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:3655,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3656,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3659,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3652,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3658,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_PRIVATE_VENDOR_SPECIFIC_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6001
      functionLinenumberEnd: 6014
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6006,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6007,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:6008,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6004,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:6009,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_PRIVATE_VENDOR_SPECIFIC_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5985
      functionLinenumberEnd: 5996
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5988,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5988,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5990,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5990,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5991,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5994,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5987,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5993,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_TEMPLATE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5966
      functionLinenumberEnd: 5979
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5971,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5972,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5973,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5969,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5974,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_TEMPLATE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5951
      functionLinenumberEnd: 5962
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5954,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5954,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5956,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5956,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5957,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5960,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5953,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5959,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_PUBLIC_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5933
      functionLinenumberEnd: 5945
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMT_PUBLIC_Marshal
        - UINT16_Marshal
        - Uint16ToByteArray
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5943,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5943,8'
              BranchSideFuncs:
                - Uint16ToByteArray
            - BranchSide:      'tpm/src/support/Marshal.c:5944,9'
              BranchSideFuncs:
                - Uint16ToByteArray
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5937,14'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5940,25'
          Dst:             TPMT_PUBLIC_Marshal
        - Src:             'tpm/src/support/Marshal.c:5944,9'
          Dst:             Uint16ToByteArray
    - functionName:    TPMT_PUBLIC_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5878
      functionLinenumberEnd: 5903
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          98
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPMU_PUBLIC_ID_Marshal
        - TPMU_PUBLIC_PARMS_Marshal
        - UINT16_Marshal
        - UINT32_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5881,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5884,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5887,25'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:5890,25'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/support/Marshal.c:5893,25'
          Dst:             TPMU_PUBLIC_PARMS_Marshal
        - Src:             'tpm/src/support/Marshal.c:5899,25'
          Dst:             TPMU_PUBLIC_ID_Marshal
    - functionName:    TPMU_PUBLIC_PARMS_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5791
      functionLinenumberEnd: 5816
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          70
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPMS_ECC_PARMS_Marshal
        - TPMS_KEYEDHASH_PARMS_Marshal
        - TPMS_RSA_PARMS_Marshal
        - TPMS_SYMCIPHER_PARMS_Marshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5792,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5797,42'
              BranchSideFuncs:
                - TPMS_KEYEDHASH_PARMS_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5802,42'
              BranchSideFuncs:
                - TPMS_SYMCIPHER_PARMS_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5807,36'
              BranchSideFuncs:
                - TPMS_RSA_PARMS_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5812,36'
              BranchSideFuncs:
                - TPMS_ECC_PARMS_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5815,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5796,20'
          Dst:             TPMS_KEYEDHASH_PARMS_Marshal
        - Src:             'tpm/src/support/Marshal.c:5801,20'
          Dst:             TPMS_SYMCIPHER_PARMS_Marshal
        - Src:             'tpm/src/support/Marshal.c:5806,20'
          Dst:             TPMS_RSA_PARMS_Marshal
        - Src:             'tpm/src/support/Marshal.c:5811,20'
          Dst:             TPMS_ECC_PARMS_Marshal
    - functionName:    TPMU_PUBLIC_ID_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5640
      functionLinenumberEnd: 5664
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          70
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPM2B_PUBLIC_KEY_RSA_Marshal
        - TPMS_ECC_POINT_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5641,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5646,34'
              BranchSideFuncs:
                - TPM2B_DIGEST_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5650,58'
              BranchSideFuncs:
                - TPM2B_DIGEST_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5655,42'
              BranchSideFuncs:
                - TPM2B_PUBLIC_KEY_RSA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5660,36'
              BranchSideFuncs:
                - TPMS_ECC_POINT_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5663,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5645,20'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/support/Marshal.c:5650,20'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/support/Marshal.c:5654,20'
          Dst:             TPM2B_PUBLIC_KEY_RSA_Marshal
        - Src:             'tpm/src/support/Marshal.c:5659,20'
          Dst:             TPMS_ECC_POINT_Marshal
    - functionName:    TPM2B_PUBLIC_KEY_RSA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4825
      functionLinenumberEnd: 4838
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4830,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4831,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4832,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4828,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:4833,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMS_ECC_POINT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4969
      functionLinenumberEnd: 4977
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_ECC_PARAMETER_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4972,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'tpm/src/support/Marshal.c:4975,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
    - functionName:    TPMS_KEYEDHASH_PARMS_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5676
      functionLinenumberEnd: 5678
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_KEYEDHASH_SCHEME_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5677,12'
          Dst:             TPMT_KEYEDHASH_SCHEME_Marshal
    - functionName:    TPMS_SYMCIPHER_PARMS_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3690
      functionLinenumberEnd: 3692
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_SYM_DEF_OBJECT_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3691,12'
          Dst:             TPMT_SYM_DEF_OBJECT_Marshal
    - functionName:    TPMS_RSA_PARMS_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5702
      functionLinenumberEnd: 5715
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          68
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_RSA_SCHEME_Marshal
        - TPMT_SYM_DEF_OBJECT_Marshal
        - UINT16_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5705,25'
          Dst:             TPMT_SYM_DEF_OBJECT_Marshal
        - Src:             'tpm/src/support/Marshal.c:5708,25'
          Dst:             TPMT_RSA_SCHEME_Marshal
        - Src:             'tpm/src/support/Marshal.c:5711,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5714,27'
          Dst:             UINT32_Marshal
    - functionName:    TPMS_ECC_PARMS_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5740
      functionLinenumberEnd: 5754
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          68
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_ECC_SCHEME_Marshal
        - TPMT_KDF_SCHEME_Marshal
        - TPMT_SYM_DEF_OBJECT_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5743,25'
          Dst:             TPMT_SYM_DEF_OBJECT_Marshal
        - Src:             'tpm/src/support/Marshal.c:5746,25'
          Dst:             TPMT_ECC_SCHEME_Marshal
        - Src:             'tpm/src/support/Marshal.c:5749,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5752,25'
          Dst:             TPMT_KDF_SCHEME_Marshal
    - functionName:    TPMT_SYM_DEF_OBJECT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3628
      functionLinenumberEnd: 3644
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          65
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_SYM_KEY_BITS_Marshal
        - TPMU_SYM_MODE_Marshal
        - UINT16_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3631,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3635,20'
          Dst:             TPMU_SYM_KEY_BITS_Marshal
        - Src:             'tpm/src/support/Marshal.c:3640,25'
          Dst:             TPMU_SYM_MODE_Marshal
    - functionName:    TPMT_ECC_SCHEME_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5146
      functionLinenumberEnd: 5157
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_ASYM_SCHEME_Marshal
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5149,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5153,20'
          Dst:             TPMU_ASYM_SCHEME_Marshal
    - functionName:    TPMT_KDF_SCHEME_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4456
      functionLinenumberEnd: 4466
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_KDF_SCHEME_Marshal
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4459,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:4462,25'
          Dst:             TPMU_KDF_SCHEME_Marshal
    - functionName:    TPMU_KDF_SCHEME_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4406
      functionLinenumberEnd: 4437
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         10
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 11
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4407,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4411,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4416,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4423,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4428,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4434,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4436,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4411,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4416,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4423,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4428,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SCHEME_HASH_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3869
      functionLinenumberEnd: 3870
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Marshal
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3870,12'
          Dst:             UINT16_Marshal
    - functionName:    TPMU_ASYM_SCHEME_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4595
      functionLinenumberEnd: 4652
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         14
      ICount:          111
      EdgeCount:       27
      CyclomaticComplexity: 15
      functionsReached:
        - TPMS_EMPTY_Marshal
        - TPMS_SCHEME_ECDAA_Marshal
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4596,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4600,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4610,20'
              BranchSideFuncs:
                - TPMS_SCHEME_ECDAA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4615,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4620,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4625,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4635,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4640,20'
              BranchSideFuncs:
                - TPMS_EMPTY_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4645,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4649,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4651,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4600,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4610,20'
          Dst:             TPMS_SCHEME_ECDAA_Marshal
        - Src:             'tpm/src/support/Marshal.c:4615,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4620,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4625,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4635,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4640,20'
          Dst:             TPMS_EMPTY_Marshal
        - Src:             'tpm/src/support/Marshal.c:4645,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SCHEME_ECDAA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3887
      functionLinenumberEnd: 3894
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3890,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3893,27'
          Dst:             UINT16_Marshal
    - functionName:    TPMS_EMPTY_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1901
      functionLinenumberEnd: 1906
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMU_SYM_KEY_BITS_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3464
      functionLinenumberEnd: 3496
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          66
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3465,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3474,20'
              BranchSideFuncs:
                - UINT16_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3484,20'
              BranchSideFuncs:
                - UINT16_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3489,20'
              BranchSideFuncs:
                - UINT16_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3493,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3495,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3474,20'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3484,20'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3489,20'
          Dst:             UINT16_Marshal
    - functionName:    TPMU_SYM_MODE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3537
      functionLinenumberEnd: 3568
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          62
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3538,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3547,20'
              BranchSideFuncs:
                - UINT16_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3557,20'
              BranchSideFuncs:
                - UINT16_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3562,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3565,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3567,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3547,20'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3557,20'
          Dst:             UINT16_Marshal
    - functionName:    TPMT_RSA_SCHEME_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4718
      functionLinenumberEnd: 4729
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_ASYM_SCHEME_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4721,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:4725,20'
          Dst:             TPMU_ASYM_SCHEME_Marshal
    - functionName:    TPMT_KEYEDHASH_SCHEME_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4038
      functionLinenumberEnd: 4050
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_SCHEME_KEYEDHASH_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4042,20'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:4045,25'
          Dst:             TPMU_SCHEME_KEYEDHASH_Marshal
    - functionName:    TPMU_SCHEME_KEYEDHASH_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4000
      functionLinenumberEnd: 4017
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         8
      ICount:          57
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
        - TPMS_SCHEME_XOR_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4001,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4005,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4011,37'
              BranchSideFuncs:
                - TPMS_SCHEME_XOR_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4014,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4016,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4005,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4010,20'
          Dst:             TPMS_SCHEME_XOR_Marshal
    - functionName:    TPMS_SCHEME_XOR_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3964
      functionLinenumberEnd: 3972
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3967,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3971,20'
          Dst:             UINT16_Marshal
    - functionName:    TPM2B_PUBLIC_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5909
      functionLinenumberEnd: 5929
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         15
      ICount:          95
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPMT_PUBLIC_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5912,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5912,8'
              BranchSideFuncs:
                - TPMT_PUBLIC_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5915,12'
              BranchSideFuncs:
                - TPMT_PUBLIC_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5915,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5916,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5919,32'
              BranchSideFuncs:
                - TPMT_PUBLIC_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5924,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5925,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5926,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5911,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5920,31'
          Dst:             TPMT_PUBLIC_Unmarshal
    - functionName:    TPMT_PUBLIC_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5852
      functionLinenumberEnd: 5874
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         18
      ICount:          131
      EdgeCount:       23
      CyclomaticComplexity: 7
      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:
        - Branch String:   'tpm/src/support/Marshal.c:5856,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5858,31'
              BranchSideFuncs:
                - TPMI_ALG_HASH_Unmarshal
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMU_PUBLIC_PARMS_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_OBJECT_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5859,8'
              BranchSideFuncs:
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMU_PUBLIC_PARMS_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_OBJECT_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5859,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5861,29'
              BranchSideFuncs:
                - TPMA_OBJECT_Unmarshal
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMU_PUBLIC_PARMS_Unmarshal
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5862,8'
              BranchSideFuncs:
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMU_PUBLIC_PARMS_Unmarshal
                - TPM2B_DIGEST_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5862,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5864,30'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMU_PUBLIC_PARMS_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5865,8'
              BranchSideFuncs:
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMU_PUBLIC_PARMS_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5865,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5867,63'
              BranchSideFuncs:
                - TPMU_PUBLIC_PARMS_Unmarshal
                - TPMU_PUBLIC_ID_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5871,8'
              BranchSideFuncs:
                - TPMU_PUBLIC_ID_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5871,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5871,8'
              BranchSideFuncs:
                - TPMU_PUBLIC_ID_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5873,32'
              BranchSideFuncs:
                - TPMU_PUBLIC_ID_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5855,9'
          Dst:             TPMI_ALG_PUBLIC_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5857,18'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5860,18'
          Dst:             TPMA_OBJECT_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5863,18'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5867,13'
          Dst:             TPMU_PUBLIC_PARMS_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5872,18'
          Dst:             TPMU_PUBLIC_ID_Unmarshal
    - functionName:    TPMA_OBJECT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 644
      functionLinenumberEnd: 652
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:647,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:647,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:649,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:649,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:650,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:651,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:646,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMU_PUBLIC_PARMS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5762
      functionLinenumberEnd: 5787
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          70
      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:   'tpm/src/support/Marshal.c:5763,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5768,42'
              BranchSideFuncs:
                - TPMS_KEYEDHASH_PARMS_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5773,42'
              BranchSideFuncs:
                - TPMS_SYMCIPHER_PARMS_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5778,36'
              BranchSideFuncs:
                - TPMS_RSA_PARMS_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5783,36'
              BranchSideFuncs:
                - TPMS_ECC_PARMS_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5786,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5767,20'
          Dst:             TPMS_KEYEDHASH_PARMS_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5772,20'
          Dst:             TPMS_SYMCIPHER_PARMS_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5777,20'
          Dst:             TPMS_RSA_PARMS_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5782,20'
          Dst:             TPMS_ECC_PARMS_Unmarshal
    - functionName:    TPMU_PUBLIC_ID_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5611
      functionLinenumberEnd: 5636
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          70
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPM2B_PUBLIC_KEY_RSA_Unmarshal
        - TPMS_ECC_POINT_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5612,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5617,34'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5622,34'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5627,42'
              BranchSideFuncs:
                - TPM2B_PUBLIC_KEY_RSA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5632,36'
              BranchSideFuncs:
                - TPMS_ECC_POINT_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5635,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5616,20'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5621,20'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5626,20'
          Dst:             TPM2B_PUBLIC_KEY_RSA_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5631,20'
          Dst:             TPMS_ECC_POINT_Unmarshal
    - functionName:    TPM2B_PUBLIC_KEY_RSA_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4810
      functionLinenumberEnd: 4821
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4813,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4813,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4815,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:4815,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4816,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4819,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4812,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4818,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPMS_ECC_POINT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4958
      functionLinenumberEnd: 4965
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_ECC_PARAMETER_Unmarshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4962,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4962,8'
              BranchSideFuncs:
                - TPM2B_ECC_PARAMETER_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4964,37'
              BranchSideFuncs:
                - TPM2B_ECC_PARAMETER_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4960,14'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4963,18'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
    - functionName:    TPMS_KEYEDHASH_PARMS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5670
      functionLinenumberEnd: 5672
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_KEYEDHASH_SCHEME_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5671,12'
          Dst:             TPMT_KEYEDHASH_SCHEME_Unmarshal
    - functionName:    TPMS_SYMCIPHER_PARMS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3684
      functionLinenumberEnd: 3686
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_SYM_DEF_OBJECT_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3685,12'
          Dst:             TPMT_SYM_DEF_OBJECT_Unmarshal
    - functionName:    TPMS_RSA_PARMS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5686
      functionLinenumberEnd: 5698
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPMI_RSA_KEY_BITS_Unmarshal
        - TPMT_RSA_SCHEME_Unmarshal
        - TPMT_SYM_DEF_OBJECT_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5690,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5692,33'
              BranchSideFuncs:
                - TPMT_RSA_SCHEME_Unmarshal
                - UINT32_Unmarshal
                - TPMI_RSA_KEY_BITS_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5693,8'
              BranchSideFuncs:
                - UINT32_Unmarshal
                - TPMI_RSA_KEY_BITS_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5693,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5695,35'
              BranchSideFuncs:
                - TPMI_RSA_KEY_BITS_Unmarshal
                - UINT32_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5696,8'
              BranchSideFuncs:
                - UINT32_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5696,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5696,8'
              BranchSideFuncs:
                - UINT32_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5697,46'
              BranchSideFuncs:
                - UINT32_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5688,14'
          Dst:             TPMT_SYM_DEF_OBJECT_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5691,18'
          Dst:             TPMT_RSA_SCHEME_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5694,18'
          Dst:             TPMI_RSA_KEY_BITS_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5697,18'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMS_ECC_PARMS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5723
      functionLinenumberEnd: 5736
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPMI_ECC_CURVE_Unmarshal
        - TPMT_ECC_SCHEME_Unmarshal
        - TPMT_KDF_SCHEME_Unmarshal
        - TPMT_SYM_DEF_OBJECT_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5727,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5729,33'
              BranchSideFuncs:
                - TPMT_ECC_SCHEME_Unmarshal
                - TPMT_KDF_SCHEME_Unmarshal
                - TPMI_ECC_CURVE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5730,8'
              BranchSideFuncs:
                - TPMT_KDF_SCHEME_Unmarshal
                - TPMI_ECC_CURVE_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5730,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5732,32'
              BranchSideFuncs:
                - TPMI_ECC_CURVE_Unmarshal
                - TPMT_KDF_SCHEME_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5733,8'
              BranchSideFuncs:
                - TPMT_KDF_SCHEME_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5733,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5733,8'
              BranchSideFuncs:
                - TPMT_KDF_SCHEME_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5735,33'
              BranchSideFuncs:
                - TPMT_KDF_SCHEME_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5725,14'
          Dst:             TPMT_SYM_DEF_OBJECT_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5728,18'
          Dst:             TPMT_ECC_SCHEME_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5731,18'
          Dst:             TPMI_ECC_CURVE_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5734,18'
          Dst:             TPMT_KDF_SCHEME_Unmarshal
    - functionName:    TPMT_SYM_DEF_OBJECT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3612
      functionLinenumberEnd: 3624
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         9
      ICount:          77
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_SYM_OBJECT_Unmarshal
        - TPMU_SYM_KEY_BITS_Unmarshal
        - TPMU_SYM_MODE_Unmarshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3616,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3617,68'
              BranchSideFuncs:
                - TPMU_SYM_KEY_BITS_Unmarshal
                - TPMU_SYM_MODE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3621,8'
              BranchSideFuncs:
                - TPMU_SYM_MODE_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:3621,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3621,8'
              BranchSideFuncs:
                - TPMU_SYM_MODE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3623,31'
              BranchSideFuncs:
                - TPMU_SYM_MODE_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3614,14'
          Dst:             TPMI_ALG_SYM_OBJECT_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3617,18'
          Dst:             TPMU_SYM_KEY_BITS_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3622,18'
          Dst:             TPMU_SYM_MODE_Unmarshal
    - functionName:    TPMT_ECC_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5133
      functionLinenumberEnd: 5142
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_ECC_SCHEME_Unmarshal
        - TPMU_ASYM_SCHEME_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5137,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5137,8'
              BranchSideFuncs:
                - TPMU_ASYM_SCHEME_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5138,66'
              BranchSideFuncs:
                - TPMU_ASYM_SCHEME_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5135,14'
          Dst:             TPMI_ALG_ECC_SCHEME_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5138,18'
          Dst:             TPMU_ASYM_SCHEME_Unmarshal
    - functionName:    TPMI_ECC_CURVE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5080
      functionLinenumberEnd: 5117
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         13
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ECC_CURVE_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5083,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5083,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5085,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:5085,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5111,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5111,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5111,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5111,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5113,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5082,14'
          Dst:             TPM_ECC_CURVE_Unmarshal
    - functionName:    TPMT_KDF_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4443
      functionLinenumberEnd: 4452
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_KDF_Unmarshal
        - TPMU_KDF_SCHEME_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4447,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4447,8'
              BranchSideFuncs:
                - TPMU_KDF_SCHEME_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4448,64'
              BranchSideFuncs:
                - TPMU_KDF_SCHEME_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4446,9'
          Dst:             TPMI_ALG_KDF_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4448,18'
          Dst:             TPMU_KDF_SCHEME_Unmarshal
    - functionName:    TPMI_ALG_KDF_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1623
      functionLinenumberEnd: 1652
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         17
      ICount:          82
      EdgeCount:       18
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1626,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1626,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1628,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1628,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1642,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1642,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1642,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1642,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1644,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1648,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1644,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1645,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1646,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1625,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMU_KDF_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4371
      functionLinenumberEnd: 4402
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         10
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 11
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4372,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4376,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4381,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4388,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4393,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4399,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4401,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4376,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4381,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4388,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4393,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_SCHEME_HASH_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3863
      functionLinenumberEnd: 3865
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_HASH_Unmarshal
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3864,12'
          Dst:             TPMI_ALG_HASH_Unmarshal
    - functionName:    TPMI_ALG_ECC_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5030
      functionLinenumberEnd: 5065
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         17
      ICount:          82
      EdgeCount:       18
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5033,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5033,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5035,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:5035,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5055,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5055,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5055,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5055,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5057,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5061,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:5057,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5058,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5059,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5032,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMU_ASYM_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4534
      functionLinenumberEnd: 4591
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         14
      ICount:          111
      EdgeCount:       27
      CyclomaticComplexity: 15
      functionsReached:
        - TPMS_EMPTY_Unmarshal
        - TPMS_SCHEME_ECDAA_Unmarshal
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4535,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4539,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4549,20'
              BranchSideFuncs:
                - TPMS_SCHEME_ECDAA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4554,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4559,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4564,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4574,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4579,20'
              BranchSideFuncs:
                - TPMS_EMPTY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4584,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4588,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4590,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4539,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4549,20'
          Dst:             TPMS_SCHEME_ECDAA_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4554,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4559,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4564,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4574,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4579,20'
          Dst:             TPMS_EMPTY_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4584,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_SCHEME_ECDAA_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3877
      functionLinenumberEnd: 3883
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_HASH_Unmarshal
        - UINT16_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3881,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3881,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3882,46'
              BranchSideFuncs:
                - UINT16_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3880,9'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3882,18'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMS_EMPTY_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1892
      functionLinenumberEnd: 1897
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMI_ALG_SYM_OBJECT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1532
      functionLinenumberEnd: 1561
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         15
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1535,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1535,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1537,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1537,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1551,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1551,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1553,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1557,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1553,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1554,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1555,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1534,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMU_SYM_KEY_BITS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3428
      functionLinenumberEnd: 3460
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          66
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPMI_AES_KEY_BITS_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
        - TPMI_CAMELLIA_KEY_BITS_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3429,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3439,39'
              BranchSideFuncs:
                - TPMI_AES_KEY_BITS_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3449,44'
              BranchSideFuncs:
                - TPMI_CAMELLIA_KEY_BITS_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3454,35'
              BranchSideFuncs:
                - TPMI_ALG_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3457,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3459,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3438,20'
          Dst:             TPMI_AES_KEY_BITS_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3448,20'
          Dst:             TPMI_CAMELLIA_KEY_BITS_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3453,20'
          Dst:             TPMI_ALG_HASH_Unmarshal
    - functionName:    TPMU_SYM_MODE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3502
      functionLinenumberEnd: 3533
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          62
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPMI_ALG_SYM_MODE_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3503,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3513,39'
              BranchSideFuncs:
                - TPMI_ALG_SYM_MODE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3523,39'
              BranchSideFuncs:
                - TPMI_ALG_SYM_MODE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3527,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3530,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3532,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3512,20'
          Dst:             TPMI_ALG_SYM_MODE_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3522,20'
          Dst:             TPMI_ALG_SYM_MODE_Unmarshal
    - functionName:    TPMI_ALG_SYM_MODE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1575
      functionLinenumberEnd: 1610
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         19
      ICount:          90
      EdgeCount:       20
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1578,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1578,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1580,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1580,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1600,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1600,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1600,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1600,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1600,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1600,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1602,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1606,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1602,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1603,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1604,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1577,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_AES_KEY_BITS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3321
      functionLinenumberEnd: 3343
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         11
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3324,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3324,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3326,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:3326,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3337,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3337,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3339,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3323,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_CAMELLIA_KEY_BITS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3390
      functionLinenumberEnd: 3412
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         11
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3393,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3393,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3395,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:3395,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3406,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3406,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3408,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3392,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMT_RSA_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4705
      functionLinenumberEnd: 4714
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_RSA_SCHEME_Unmarshal
        - TPMU_ASYM_SCHEME_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4709,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4709,8'
              BranchSideFuncs:
                - TPMU_ASYM_SCHEME_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4710,66'
              BranchSideFuncs:
                - TPMU_ASYM_SCHEME_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4707,14'
          Dst:             TPMI_ALG_RSA_SCHEME_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4710,18'
          Dst:             TPMU_ASYM_SCHEME_Unmarshal
    - functionName:    TPMI_RSA_KEY_BITS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4845
      functionLinenumberEnd: 4873
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         11
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4848,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4848,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4850,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:4850,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4867,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4867,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4869,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4847,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_ALG_RSA_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4660
      functionLinenumberEnd: 4689
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         17
      ICount:          82
      EdgeCount:       18
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4663,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4663,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4665,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:4665,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4679,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4679,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4679,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4679,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4681,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4685,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:4681,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4682,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4683,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4662,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMT_KEYEDHASH_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4023
      functionLinenumberEnd: 4033
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_KEYEDHASH_SCHEME_Unmarshal
        - TPMU_SCHEME_KEYEDHASH_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4027,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4027,8'
              BranchSideFuncs:
                - TPMU_SCHEME_KEYEDHASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4029,39'
              BranchSideFuncs:
                - TPMU_SCHEME_KEYEDHASH_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4025,14'
          Dst:             TPMI_ALG_KEYEDHASH_SCHEME_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4028,18'
          Dst:             TPMU_SCHEME_KEYEDHASH_Unmarshal
    - functionName:    TPMI_ALG_KEYEDHASH_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3902
      functionLinenumberEnd: 3925
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         15
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3905,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3905,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3907,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:3907,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3915,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3915,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3917,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3921,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:3917,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3918,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3919,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3904,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMU_SCHEME_KEYEDHASH_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3979
      functionLinenumberEnd: 3996
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         8
      ICount:          57
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
        - TPMS_SCHEME_XOR_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3980,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3984,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3990,37'
              BranchSideFuncs:
                - TPMS_SCHEME_XOR_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3993,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3995,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3984,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3989,20'
          Dst:             TPMS_SCHEME_XOR_Unmarshal
    - functionName:    TPMS_SCHEME_XOR_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3953
      functionLinenumberEnd: 3960
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_HASH_Unmarshal
        - TPMI_ALG_KDF_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3957,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3957,8'
              BranchSideFuncs:
                - TPMI_ALG_KDF_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3959,53'
              BranchSideFuncs:
                - TPMI_ALG_KDF_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3956,9'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3959,13'
          Dst:             TPMI_ALG_KDF_Unmarshal
    - functionName:    TPMT_PUBLIC_PARMS_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5835
      functionLinenumberEnd: 5846
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_PUBLIC_PARMS_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5838,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5841,25'
          Dst:             TPMU_PUBLIC_PARMS_Marshal
    - functionName:    TPMT_PUBLIC_PARMS_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5821
      functionLinenumberEnd: 5831
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_PUBLIC_Unmarshal
        - TPMU_PUBLIC_PARMS_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5825,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5825,8'
              BranchSideFuncs:
                - TPMU_PUBLIC_PARMS_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5827,63'
              BranchSideFuncs:
                - TPMU_PUBLIC_PARMS_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5824,9'
          Dst:             TPMI_ALG_PUBLIC_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5827,13'
          Dst:             TPMU_PUBLIC_PARMS_Unmarshal
    - functionName:    TPM2B_ENCRYPTED_SECRET_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5554
      functionLinenumberEnd: 5567
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5559,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5560,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5561,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5557,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5562,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_ENCRYPTED_SECRET_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5538
      functionLinenumberEnd: 5549
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5541,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5541,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5543,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5543,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5544,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5547,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5540,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5546,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPMU_ENCRYPTED_SECRET_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5503
      functionLinenumberEnd: 5532
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          74
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - BYTE_Array_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5504,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5509,25'
              BranchSideFuncs:
                - BYTE_Array_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5514,25'
              BranchSideFuncs:
                - BYTE_Array_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5518,47'
              BranchSideFuncs:
                - BYTE_Array_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5525,47'
              BranchSideFuncs:
                - BYTE_Array_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5531,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5508,20'
          Dst:             BYTE_Array_Marshal
        - Src:             'tpm/src/support/Marshal.c:5513,20'
          Dst:             BYTE_Array_Marshal
        - Src:             'tpm/src/support/Marshal.c:5518,20'
          Dst:             BYTE_Array_Marshal
        - Src:             'tpm/src/support/Marshal.c:5525,20'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMU_ENCRYPTED_SECRET_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5470
      functionLinenumberEnd: 5499
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          74
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - BYTE_Array_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5471,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5476,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5481,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5485,49'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5492,49'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5498,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5475,20'
          Dst:             BYTE_Array_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5480,20'
          Dst:             BYTE_Array_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5485,20'
          Dst:             BYTE_Array_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5492,20'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPMT_SIGNATURE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5453
      functionLinenumberEnd: 5463
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_SIGNATURE_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5456,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5459,25'
          Dst:             TPMU_SIGNATURE_Marshal
    - functionName:    TPMU_SIGNATURE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5393
      functionLinenumberEnd: 5434
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         12
      ICount:          93
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - TPMS_SIGNATURE_ECC_Marshal
        - TPMS_SIGNATURE_RSA_Marshal
        - TPMT_HA_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5394,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5398,20'
              BranchSideFuncs:
                - TPMS_SIGNATURE_ECC_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5403,20'
              BranchSideFuncs:
                - TPMS_SIGNATURE_RSA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5408,20'
              BranchSideFuncs:
                - TPMS_SIGNATURE_RSA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5413,20'
              BranchSideFuncs:
                - TPMS_SIGNATURE_ECC_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5423,20'
              BranchSideFuncs:
                - TPMS_SIGNATURE_ECC_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5428,48'
              BranchSideFuncs:
                - TPMT_HA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:5431,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5433,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5398,20'
          Dst:             TPMS_SIGNATURE_ECC_Marshal
        - Src:             'tpm/src/support/Marshal.c:5403,20'
          Dst:             TPMS_SIGNATURE_RSA_Marshal
        - Src:             'tpm/src/support/Marshal.c:5408,20'
          Dst:             TPMS_SIGNATURE_RSA_Marshal
        - Src:             'tpm/src/support/Marshal.c:5413,20'
          Dst:             TPMS_SIGNATURE_ECC_Marshal
        - Src:             'tpm/src/support/Marshal.c:5423,20'
          Dst:             TPMS_SIGNATURE_ECC_Marshal
        - Src:             'tpm/src/support/Marshal.c:5428,20'
          Dst:             TPMT_HA_Marshal
    - functionName:    TPMS_SIGNATURE_ECC_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5279
      functionLinenumberEnd: 5290
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_ECC_PARAMETER_Marshal
        - UINT16_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5282,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5285,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'tpm/src/support/Marshal.c:5288,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
    - functionName:    TPMS_SIGNATURE_RSA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5219
      functionLinenumberEnd: 5227
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_PUBLIC_KEY_RSA_Marshal
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5222,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5225,25'
          Dst:             TPM2B_PUBLIC_KEY_RSA_Marshal
    - functionName:    TPMT_HA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2040
      functionLinenumberEnd: 2050
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_HA_Marshal
        - UINT16_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2043,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2046,25'
          Dst:             TPMU_HA_Marshal
    - functionName:    TPMU_HA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1977
      functionLinenumberEnd: 2024
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          69
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - BYTE_Array_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1978,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1983,25'
              BranchSideFuncs:
                - BYTE_Array_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:1988,25'
              BranchSideFuncs:
                - BYTE_Array_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:1993,25'
              BranchSideFuncs:
                - BYTE_Array_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2021,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2023,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1982,20'
          Dst:             BYTE_Array_Marshal
        - Src:             'tpm/src/support/Marshal.c:1987,20'
          Dst:             BYTE_Array_Marshal
        - Src:             'tpm/src/support/Marshal.c:1992,20'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMT_SIGNATURE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5440
      functionLinenumberEnd: 5449
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_SIG_SCHEME_Unmarshal
        - TPMU_SIGNATURE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5444,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5444,8'
              BranchSideFuncs:
                - TPMU_SIGNATURE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5445,62'
              BranchSideFuncs:
                - TPMU_SIGNATURE_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5442,14'
          Dst:             TPMI_ALG_SIG_SCHEME_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5445,18'
          Dst:             TPMU_SIGNATURE_Unmarshal
    - functionName:    TPMI_ALG_SIG_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1666
      functionLinenumberEnd: 1704
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         19
      ICount:          90
      EdgeCount:       20
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1669,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1669,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1671,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1671,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1694,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1694,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1694,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1694,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1694,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1694,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1696,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1700,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1696,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1697,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1698,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1668,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMU_SIGNATURE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5348
      functionLinenumberEnd: 5389
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         12
      ICount:          93
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - TPMS_SIGNATURE_ECC_Unmarshal
        - TPMS_SIGNATURE_RSA_Unmarshal
        - TPMT_HA_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5349,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5353,20'
              BranchSideFuncs:
                - TPMS_SIGNATURE_ECC_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5358,20'
              BranchSideFuncs:
                - TPMS_SIGNATURE_RSA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5363,20'
              BranchSideFuncs:
                - TPMS_SIGNATURE_RSA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5368,20'
              BranchSideFuncs:
                - TPMS_SIGNATURE_ECC_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5378,20'
              BranchSideFuncs:
                - TPMS_SIGNATURE_ECC_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5383,50'
              BranchSideFuncs:
                - TPMT_HA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5386,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5388,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5353,20'
          Dst:             TPMS_SIGNATURE_ECC_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5358,20'
          Dst:             TPMS_SIGNATURE_RSA_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5363,20'
          Dst:             TPMS_SIGNATURE_RSA_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5368,20'
          Dst:             TPMS_SIGNATURE_ECC_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5378,20'
          Dst:             TPMS_SIGNATURE_ECC_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5383,20'
          Dst:             TPMT_HA_Unmarshal
    - functionName:    TPMS_SIGNATURE_ECC_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5265
      functionLinenumberEnd: 5275
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_ECC_PARAMETER_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5269,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5271,37'
              BranchSideFuncs:
                - TPM2B_ECC_PARAMETER_Unmarshal
                - TPM2B_ECC_PARAMETER_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5272,8'
              BranchSideFuncs:
                - TPM2B_ECC_PARAMETER_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5272,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5272,8'
              BranchSideFuncs:
                - TPM2B_ECC_PARAMETER_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5274,37'
              BranchSideFuncs:
                - TPM2B_ECC_PARAMETER_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5268,9'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5270,18'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5273,18'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
    - functionName:    TPMS_SIGNATURE_RSA_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5208
      functionLinenumberEnd: 5215
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_PUBLIC_KEY_RSA_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5212,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5212,8'
              BranchSideFuncs:
                - TPM2B_PUBLIC_KEY_RSA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:5214,38'
              BranchSideFuncs:
                - TPM2B_PUBLIC_KEY_RSA_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5211,9'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:5213,18'
          Dst:             TPM2B_PUBLIC_KEY_RSA_Unmarshal
    - functionName:    TPMT_HA_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2029
      functionLinenumberEnd: 2036
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_HASH_Unmarshal
        - TPMU_HA_Unmarshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2033,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2033,8'
              BranchSideFuncs:
                - TPMU_HA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2035,25'
              BranchSideFuncs:
                - TPMU_HA_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2031,14'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2034,18'
          Dst:             TPMU_HA_Unmarshal
    - functionName:    TPMU_HA_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1927
      functionLinenumberEnd: 1974
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         9
      ICount:          69
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - BYTE_Array_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1928,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1933,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:1938,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:1943,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:1971,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1973,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1932,20'
          Dst:             BYTE_Array_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:1937,20'
          Dst:             BYTE_Array_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:1942,20'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPMS_ALGORITHM_DETAIL_ECC_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5166
      functionLinenumberEnd: 5200
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          145
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_ECC_PARAMETER_Marshal
        - TPMT_ECC_SCHEME_Marshal
        - TPMT_KDF_SCHEME_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5169,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5172,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5174,25'
          Dst:             TPMT_KDF_SCHEME_Marshal
        - Src:             'tpm/src/support/Marshal.c:5177,25'
          Dst:             TPMT_ECC_SCHEME_Marshal
        - Src:             'tpm/src/support/Marshal.c:5180,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'tpm/src/support/Marshal.c:5183,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'tpm/src/support/Marshal.c:5186,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'tpm/src/support/Marshal.c:5189,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'tpm/src/support/Marshal.c:5192,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'tpm/src/support/Marshal.c:5195,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'tpm/src/support/Marshal.c:5198,25'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
    - functionName:    TPM2B_ECC_POINT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 5009
      functionLinenumberEnd: 5021
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_ECC_POINT_Marshal
        - UINT16_Marshal
        - Uint16ToByteArray
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:5019,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5019,8'
              BranchSideFuncs:
                - Uint16ToByteArray
            - BranchSide:      'tpm/src/support/Marshal.c:5020,9'
              BranchSideFuncs:
                - Uint16ToByteArray
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:5013,14'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:5016,25'
          Dst:             TPMS_ECC_POINT_Marshal
        - Src:             'tpm/src/support/Marshal.c:5020,9'
          Dst:             Uint16ToByteArray
    - functionName:    TPM2B_ECC_POINT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4985
      functionLinenumberEnd: 5005
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         15
      ICount:          91
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPMS_ECC_POINT_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4988,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4988,8'
              BranchSideFuncs:
                - TPMS_ECC_POINT_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4991,12'
              BranchSideFuncs:
                - TPMS_ECC_POINT_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:4991,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4992,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4995,32'
              BranchSideFuncs:
                - TPMS_ECC_POINT_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:5000,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:5001,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:5002,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4987,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4996,31'
          Dst:             TPMS_ECC_POINT_Unmarshal
    - functionName:    TPMT_RSA_DECRYPT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4790
      functionLinenumberEnd: 4801
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_ASYM_SCHEME_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4793,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:4797,20'
          Dst:             TPMU_ASYM_SCHEME_Marshal
    - functionName:    TPMT_RSA_DECRYPT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4777
      functionLinenumberEnd: 4786
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_RSA_DECRYPT_Unmarshal
        - TPMU_ASYM_SCHEME_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4781,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4781,8'
              BranchSideFuncs:
                - TPMU_ASYM_SCHEME_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4782,66'
              BranchSideFuncs:
                - TPMU_ASYM_SCHEME_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4779,14'
          Dst:             TPMI_ALG_RSA_DECRYPT_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4782,18'
          Dst:             TPMU_ASYM_SCHEME_Unmarshal
    - functionName:    TPMI_ALG_RSA_DECRYPT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4738
      functionLinenumberEnd: 4761
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         15
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4741,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4741,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4743,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:4743,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4751,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4751,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4753,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4757,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:4753,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4754,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4755,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4740,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_ALG_ASYM_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4473
      functionLinenumberEnd: 4520
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         21
      ICount:          98
      EdgeCount:       22
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4476,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4476,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4478,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:4478,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4512,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4516,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:4512,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4513,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4514,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4475,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMT_SIG_SCHEME_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4246
      functionLinenumberEnd: 4256
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_SIG_SCHEME_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4249,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:4252,25'
          Dst:             TPMU_SIG_SCHEME_Marshal
    - functionName:    TPMU_SIG_SCHEME_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4185
      functionLinenumberEnd: 4227
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         12
      ICount:          93
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - TPMS_SCHEME_ECDAA_Marshal
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4186,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4190,20'
              BranchSideFuncs:
                - TPMS_SCHEME_ECDAA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4195,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4200,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4205,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4215,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4220,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:4224,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4226,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4190,20'
          Dst:             TPMS_SCHEME_ECDAA_Marshal
        - Src:             'tpm/src/support/Marshal.c:4195,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4200,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4205,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4215,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
        - Src:             'tpm/src/support/Marshal.c:4220,20'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMT_SIG_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4233
      functionLinenumberEnd: 4242
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_SIG_SCHEME_Unmarshal
        - TPMU_SIG_SCHEME_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4237,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4237,8'
              BranchSideFuncs:
                - TPMU_SIG_SCHEME_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4238,64'
              BranchSideFuncs:
                - TPMU_SIG_SCHEME_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4235,14'
          Dst:             TPMI_ALG_SIG_SCHEME_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4238,18'
          Dst:             TPMU_SIG_SCHEME_Unmarshal
    - functionName:    TPMU_SIG_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4139
      functionLinenumberEnd: 4181
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - selector
      BBCount:         12
      ICount:          93
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - TPMS_SCHEME_ECDAA_Unmarshal
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:4140,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:4144,20'
              BranchSideFuncs:
                - TPMS_SCHEME_ECDAA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4149,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4154,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4159,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4169,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4174,20'
              BranchSideFuncs:
                - TPMS_SCHEME_HASH_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:4178,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:4180,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:4144,20'
          Dst:             TPMS_SCHEME_ECDAA_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4149,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4154,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4159,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4169,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:4174,20'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPM2B_SENSITIVE_CREATE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3837
      functionLinenumberEnd: 3857
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         15
      ICount:          91
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPMS_SENSITIVE_CREATE_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3840,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3840,8'
              BranchSideFuncs:
                - TPMS_SENSITIVE_CREATE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3843,12'
              BranchSideFuncs:
                - TPMS_SENSITIVE_CREATE_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:3843,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3844,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3847,32'
              BranchSideFuncs:
                - TPMS_SENSITIVE_CREATE_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:3852,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3853,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3854,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3839,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3848,31'
          Dst:             TPMS_SENSITIVE_CREATE_Unmarshal
    - functionName:    TPMS_SENSITIVE_CREATE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3824
      functionLinenumberEnd: 3830
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPM2B_SENSITIVE_DATA_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3827,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3827,8'
              BranchSideFuncs:
                - TPM2B_SENSITIVE_DATA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3829,38'
              BranchSideFuncs:
                - TPM2B_SENSITIVE_DATA_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3826,14'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3828,18'
          Dst:             TPM2B_SENSITIVE_DATA_Unmarshal
    - functionName:    TPM2B_DERIVE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3770
      functionLinenumberEnd: 3783
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3775,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3776,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3777,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3773,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3778,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_DERIVE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3755
      functionLinenumberEnd: 3766
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3758,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3758,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3760,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:3760,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3761,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3764,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3757,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3763,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPMS_DERIVE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3741
      functionLinenumberEnd: 3749
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_LABEL_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3745,20'
          Dst:             TPM2B_LABEL_Marshal
        - Src:             'tpm/src/support/Marshal.c:3747,25'
          Dst:             TPM2B_LABEL_Marshal
    - functionName:    TPM2B_LABEL_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3713
      functionLinenumberEnd: 3726
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3718,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3719,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3720,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3716,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3721,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMS_DERIVE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3731
      functionLinenumberEnd: 3737
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_LABEL_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3734,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3734,8'
              BranchSideFuncs:
                - TPM2B_LABEL_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3736,51'
              BranchSideFuncs:
                - TPM2B_LABEL_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3733,14'
          Dst:             TPM2B_LABEL_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3736,13'
          Dst:             TPM2B_LABEL_Unmarshal
    - functionName:    TPM2B_LABEL_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3698
      functionLinenumberEnd: 3709
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3701,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3701,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3703,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:3703,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3704,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3707,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3700,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3706,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPMT_SYM_DEF_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3589
      functionLinenumberEnd: 3605
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          65
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_SYM_KEY_BITS_Marshal
        - TPMU_SYM_MODE_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3592,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3596,20'
          Dst:             TPMU_SYM_KEY_BITS_Marshal
        - Src:             'tpm/src/support/Marshal.c:3601,25'
          Dst:             TPMU_SYM_MODE_Marshal
    - functionName:    TPMT_SYM_DEF_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3573
      functionLinenumberEnd: 3585
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         9
      ICount:          77
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_SYM_Unmarshal
        - TPMU_SYM_KEY_BITS_Unmarshal
        - TPMU_SYM_MODE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3577,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3578,68'
              BranchSideFuncs:
                - TPMU_SYM_KEY_BITS_Unmarshal
                - TPMU_SYM_MODE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3582,8'
              BranchSideFuncs:
                - TPMU_SYM_MODE_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:3582,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3582,8'
              BranchSideFuncs:
                - TPMU_SYM_MODE_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3584,31'
              BranchSideFuncs:
                - TPMU_SYM_MODE_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3575,14'
          Dst:             TPMI_ALG_SYM_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3578,18'
          Dst:             TPMU_SYM_KEY_BITS_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3583,18'
          Dst:             TPMU_SYM_MODE_Unmarshal
    - functionName:    TPMI_ALG_SYM_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1486
      functionLinenumberEnd: 1518
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         16
      ICount:          78
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1489,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1489,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1491,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1491,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1508,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1508,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1508,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1510,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1514,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1510,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1511,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1512,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1488,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMS_AUTH_RESPONSE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3269
      functionLinenumberEnd: 3280
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - UINT8_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3273,20'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/support/Marshal.c:3275,25'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/support/Marshal.c:3279,20'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMS_AUTH_COMMAND_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3252
      functionLinenumberEnd: 3263
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMA_SESSION_Unmarshal
        - TPMI_SH_AUTH_SESSION_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3256,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3257,18'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3258,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMA_SESSION_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:3258,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3260,30'
              BranchSideFuncs:
                - TPMA_SESSION_Unmarshal
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3261,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:3261,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3261,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3262,18'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3254,14'
          Dst:             TPMI_SH_AUTH_SESSION_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3257,18'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3259,18'
          Dst:             TPMA_SESSION_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3262,18'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMI_SH_AUTH_SESSION_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 944
      functionLinenumberEnd: 959
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         23
      ICount:          106
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:947,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:947,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:949,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:949,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:951,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:955,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:951,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:952,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:953,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:955,45'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:955,50'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:956,19'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:956,50'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:956,55'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:957,20'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:946,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMA_SESSION_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 666
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - UINT8_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:669,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:669,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:671,22'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:671,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:672,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:673,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:668,14'
          Dst:             UINT8_Unmarshal
    - functionName:    UINT8_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         4
      ICount:          42
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:49,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:50,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:51,15'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    TPM2B_ATTEST_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3234
      functionLinenumberEnd: 3247
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3239,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3240,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:3241,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3237,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3242,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMS_ATTEST_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3203
      functionLinenumberEnd: 3228
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          105
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DATA_Marshal
        - TPM2B_NAME_Marshal
        - TPMS_CLOCK_INFO_Marshal
        - TPMU_ATTEST_Marshal
        - UINT16_Marshal
        - UINT32_Marshal
        - UINT64_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3206,25'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:3209,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3212,25'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'tpm/src/support/Marshal.c:3215,25'
          Dst:             TPM2B_DATA_Marshal
        - Src:             'tpm/src/support/Marshal.c:3218,25'
          Dst:             TPMS_CLOCK_INFO_Marshal
        - Src:             'tpm/src/support/Marshal.c:3222,20'
          Dst:             UINT64_Marshal
        - Src:             'tpm/src/support/Marshal.c:3224,25'
          Dst:             TPMU_ATTEST_Marshal
    - functionName:    TPMS_CLOCK_INFO_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2995
      functionLinenumberEnd: 3007
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          68
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
        - UINT64_Marshal
        - UINT8_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2998,27'
          Dst:             UINT64_Marshal
        - Src:             'tpm/src/support/Marshal.c:3000,25'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:3003,20'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:3006,20'
          Dst:             UINT8_Marshal
    - functionName:    TPMU_ATTEST_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3169
      functionLinenumberEnd: 3198
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         13
      ICount:          106
      EdgeCount:       25
      CyclomaticComplexity: 14
      functionsReached:
        - TPMS_CERTIFY_INFO_Marshal
        - TPMS_COMMAND_AUDIT_INFO_Marshal
        - TPMS_CREATION_INFO_Marshal
        - TPMS_NV_CERTIFY_INFO_Marshal
        - TPMS_NV_DIGEST_CERTIFY_INFO_Marshal
        - TPMS_QUOTE_INFO_Marshal
        - TPMS_SESSION_AUDIT_INFO_Marshal
        - TPMS_TIME_ATTEST_INFO_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3170,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3174,39'
              BranchSideFuncs:
                - TPMS_CERTIFY_INFO_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3177,40'
              BranchSideFuncs:
                - TPMS_CREATION_INFO_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3180,37'
              BranchSideFuncs:
                - TPMS_QUOTE_INFO_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3183,45'
              BranchSideFuncs:
                - TPMS_COMMAND_AUDIT_INFO_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3186,45'
              BranchSideFuncs:
                - TPMS_SESSION_AUDIT_INFO_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3189,43'
              BranchSideFuncs:
                - TPMS_TIME_ATTEST_INFO_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3192,42'
              BranchSideFuncs:
                - TPMS_NV_CERTIFY_INFO_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3195,49'
              BranchSideFuncs:
                - TPMS_NV_DIGEST_CERTIFY_INFO_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:3197,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3173,20'
          Dst:             TPMS_CERTIFY_INFO_Marshal
        - Src:             'tpm/src/support/Marshal.c:3176,20'
          Dst:             TPMS_CREATION_INFO_Marshal
        - Src:             'tpm/src/support/Marshal.c:3179,20'
          Dst:             TPMS_QUOTE_INFO_Marshal
        - Src:             'tpm/src/support/Marshal.c:3182,20'
          Dst:             TPMS_COMMAND_AUDIT_INFO_Marshal
        - Src:             'tpm/src/support/Marshal.c:3185,20'
          Dst:             TPMS_SESSION_AUDIT_INFO_Marshal
        - Src:             'tpm/src/support/Marshal.c:3188,20'
          Dst:             TPMS_TIME_ATTEST_INFO_Marshal
        - Src:             'tpm/src/support/Marshal.c:3191,20'
          Dst:             TPMS_NV_CERTIFY_INFO_Marshal
        - Src:             'tpm/src/support/Marshal.c:3194,20'
          Dst:             TPMS_NV_DIGEST_CERTIFY_INFO_Marshal
    - functionName:    TPMS_CERTIFY_INFO_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3051
      functionLinenumberEnd: 3059
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_NAME_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3055,20'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'tpm/src/support/Marshal.c:3057,25'
          Dst:             TPM2B_NAME_Marshal
    - functionName:    TPMS_CREATION_INFO_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3115
      functionLinenumberEnd: 3123
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPM2B_NAME_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3118,25'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'tpm/src/support/Marshal.c:3121,25'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMS_QUOTE_INFO_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3065
      functionLinenumberEnd: 3073
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPML_PCR_SELECTION_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3068,25'
          Dst:             TPML_PCR_SELECTION_Marshal
        - Src:             'tpm/src/support/Marshal.c:3071,25'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMS_COMMAND_AUDIT_INFO_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3080
      functionLinenumberEnd: 3094
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          68
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - UINT16_Marshal
        - UINT64_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3084,20'
          Dst:             UINT64_Marshal
        - Src:             'tpm/src/support/Marshal.c:3086,25'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3089,25'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/support/Marshal.c:3092,25'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMS_SESSION_AUDIT_INFO_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3101
      functionLinenumberEnd: 3109
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - UINT8_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3104,25'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/support/Marshal.c:3107,25'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMS_TIME_ATTEST_INFO_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3037
      functionLinenumberEnd: 3045
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_TIME_INFO_Marshal
        - UINT64_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3040,25'
          Dst:             TPMS_TIME_INFO_Marshal
        - Src:             'tpm/src/support/Marshal.c:3044,20'
          Dst:             UINT64_Marshal
    - functionName:    TPMS_NV_CERTIFY_INFO_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3129
      functionLinenumberEnd: 3139
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_MAX_NV_BUFFER_Marshal
        - TPM2B_NAME_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3132,25'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'tpm/src/support/Marshal.c:3135,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:3137,25'
          Dst:             TPM2B_MAX_NV_BUFFER_Marshal
    - functionName:    TPMS_NV_DIGEST_CERTIFY_INFO_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3146
      functionLinenumberEnd: 3154
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPM2B_NAME_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3149,25'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'tpm/src/support/Marshal.c:3152,25'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPM2B_MAX_NV_BUFFER_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2245
      functionLinenumberEnd: 2258
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2250,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2251,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2252,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2248,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2253,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMS_TIME_INFO_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3023
      functionLinenumberEnd: 3030
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_CLOCK_INFO_Marshal
        - UINT64_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3026,27'
          Dst:             UINT64_Marshal
        - Src:             'tpm/src/support/Marshal.c:3028,25'
          Dst:             TPMS_CLOCK_INFO_Marshal
    - functionName:    TPMS_TIME_INFO_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3013
      functionLinenumberEnd: 3019
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_CLOCK_INFO_Unmarshal
        - UINT64_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:3016,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:3016,8'
              BranchSideFuncs:
                - TPMS_CLOCK_INFO_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:3018,33'
              BranchSideFuncs:
                - TPMS_CLOCK_INFO_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:3015,14'
          Dst:             UINT64_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:3017,18'
          Dst:             TPMS_CLOCK_INFO_Unmarshal
    - functionName:    TPMS_CLOCK_INFO_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2982
      functionLinenumberEnd: 2991
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPMI_YES_NO_Unmarshal
        - UINT32_Unmarshal
        - UINT64_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2985,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2986,46'
              BranchSideFuncs:
                - UINT32_Unmarshal
                - TPMI_YES_NO_Unmarshal
                - UINT32_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2987,8'
              BranchSideFuncs:
                - TPMI_YES_NO_Unmarshal
                - UINT32_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2987,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2988,46'
              BranchSideFuncs:
                - UINT32_Unmarshal
                - TPMI_YES_NO_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2989,8'
              BranchSideFuncs:
                - TPMI_YES_NO_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2989,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2989,8'
              BranchSideFuncs:
                - TPMI_YES_NO_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2990,56'
              BranchSideFuncs:
                - TPMI_YES_NO_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2984,14'
          Dst:             UINT64_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2986,18'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2988,18'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2990,18'
          Dst:             TPMI_YES_NO_Unmarshal
    - functionName:    TPMI_YES_NO_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 793
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         11
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - UINT8_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:781,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:781,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:783,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:783,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:787,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:787,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:789,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:780,14'
          Dst:             UINT8_Unmarshal
    - functionName:    TPMS_CAPABILITY_DATA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2966
      functionLinenumberEnd: 2976
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          49
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_CAPABILITIES_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2970,20'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2972,25'
          Dst:             TPMU_CAPABILITIES_Marshal
    - functionName:    TPMU_CAPABILITIES_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2924
      functionLinenumberEnd: 2961
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - selector
      BBCount:         16
      ICount:          133
      EdgeCount:       31
      CyclomaticComplexity: 17
      functionsReached:
        - TPML_ACT_DATA_Marshal
        - 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
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2925,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2929,39'
              BranchSideFuncs:
                - TPML_ALG_PROPERTY_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2932,33'
              BranchSideFuncs:
                - TPML_HANDLE_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2934,50'
              BranchSideFuncs:
                - TPML_CCA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2936,48'
              BranchSideFuncs:
                - TPML_CC_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2938,48'
              BranchSideFuncs:
                - TPML_CC_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2941,40'
              BranchSideFuncs:
                - TPML_PCR_SELECTION_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2944,46'
              BranchSideFuncs:
                - TPML_TAGGED_TPM_PROPERTY_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2947,46'
              BranchSideFuncs:
                - TPML_TAGGED_PCR_PROPERTY_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2951,36'
              BranchSideFuncs:
                - TPML_ECC_CURVE_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2955,40'
              BranchSideFuncs:
                - TPML_TAGGED_POLICY_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2958,35'
              BranchSideFuncs:
                - TPML_ACT_DATA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:2960,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2928,20'
          Dst:             TPML_ALG_PROPERTY_Marshal
        - Src:             'tpm/src/support/Marshal.c:2931,20'
          Dst:             TPML_HANDLE_Marshal
        - Src:             'tpm/src/support/Marshal.c:2934,20'
          Dst:             TPML_CCA_Marshal
        - Src:             'tpm/src/support/Marshal.c:2936,20'
          Dst:             TPML_CC_Marshal
        - Src:             'tpm/src/support/Marshal.c:2938,20'
          Dst:             TPML_CC_Marshal
        - Src:             'tpm/src/support/Marshal.c:2940,20'
          Dst:             TPML_PCR_SELECTION_Marshal
        - Src:             'tpm/src/support/Marshal.c:2943,20'
          Dst:             TPML_TAGGED_TPM_PROPERTY_Marshal
        - Src:             'tpm/src/support/Marshal.c:2946,20'
          Dst:             TPML_TAGGED_PCR_PROPERTY_Marshal
        - Src:             'tpm/src/support/Marshal.c:2950,20'
          Dst:             TPML_ECC_CURVE_Marshal
        - Src:             'tpm/src/support/Marshal.c:2954,20'
          Dst:             TPML_TAGGED_POLICY_Marshal
        - Src:             'tpm/src/support/Marshal.c:2957,20'
          Dst:             TPML_ACT_DATA_Marshal
    - functionName:    TPML_ALG_PROPERTY_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2824
      functionLinenumberEnd: 2834
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_ALG_PROPERTY_Array_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2827,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2829,25'
          Dst:             TPMS_ALG_PROPERTY_Array_Marshal
    - functionName:    TPML_HANDLE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2711
      functionLinenumberEnd: 2720
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_HANDLE_Array_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2714,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2716,25'
          Dst:             TPM_HANDLE_Array_Marshal
    - functionName:    TPML_CCA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2664
      functionLinenumberEnd: 2673
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMA_CC_Array_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2667,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2669,25'
          Dst:             TPMA_CC_Array_Marshal
    - functionName:    TPML_CC_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2649
      functionLinenumberEnd: 2658
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_CC_Array_Marshal
        - UINT32_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2652,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2654,25'
          Dst:             TPM_CC_Array_Marshal
    - functionName:    TPML_TAGGED_TPM_PROPERTY_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2841
      functionLinenumberEnd: 2851
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_TAGGED_PROPERTY_Array_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2844,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2846,25'
          Dst:             TPMS_TAGGED_PROPERTY_Array_Marshal
    - functionName:    TPML_TAGGED_PCR_PROPERTY_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2858
      functionLinenumberEnd: 2868
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_TAGGED_PCR_SELECT_Array_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2861,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2863,25'
          Dst:             TPMS_TAGGED_PCR_SELECT_Array_Marshal
    - functionName:    TPML_ECC_CURVE_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2875
      functionLinenumberEnd: 2885
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ECC_CURVE_Array_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2878,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2881,20'
          Dst:             TPM_ECC_CURVE_Array_Marshal
    - functionName:    TPML_TAGGED_POLICY_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2892
      functionLinenumberEnd: 2902
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_TAGGED_POLICY_Array_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2895,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2897,25'
          Dst:             TPMS_TAGGED_POLICY_Array_Marshal
    - functionName:    TPML_ACT_DATA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2908
      functionLinenumberEnd: 2917
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_ACT_DATA_Array_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2911,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2913,25'
          Dst:             TPMS_ACT_DATA_Array_Marshal
    - functionName:    TPMS_ACT_DATA_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6678
      functionLinenumberEnd: 6685
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_ACT_DATA_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6681,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6683,27'
              BranchSideFuncs:
                - TPMS_ACT_DATA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6685,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6683,36'
          Dst:             TPMS_ACT_DATA_Marshal
    - functionName:    TPMS_ACT_DATA_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2616
      functionLinenumberEnd: 2626
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2620,20'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2622,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2625,20'
          Dst:             UINT32_Marshal
    - functionName:    TPMS_TAGGED_POLICY_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6764
      functionLinenumberEnd: 6772
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_TAGGED_POLICY_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6767,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6770,22'
              BranchSideFuncs:
                - TPMS_TAGGED_POLICY_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6772,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6770,31'
          Dst:             TPMS_TAGGED_POLICY_Marshal
    - functionName:    TPMS_TAGGED_POLICY_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2602
      functionLinenumberEnd: 2610
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_HA_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2606,20'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2609,20'
          Dst:             TPMT_HA_Marshal
    - functionName:    TPM_ECC_CURVE_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6885
      functionLinenumberEnd: 6892
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6888,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6890,27'
              BranchSideFuncs:
                - UINT16_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6892,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6890,36'
          Dst:             UINT16_Marshal
    - functionName:    TPMS_TAGGED_PCR_SELECT_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6749
      functionLinenumberEnd: 6757
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_TAGGED_PCR_SELECT_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6752,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6754,27'
              BranchSideFuncs:
                - TPMS_TAGGED_PCR_SELECT_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6757,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6755,29'
          Dst:             TPMS_TAGGED_PCR_SELECT_Marshal
    - functionName:    TPMS_TAGGED_PCR_SELECT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2584
      functionLinenumberEnd: 2596
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          62
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BYTE_Array_Marshal
        - UINT32_Marshal
        - UINT8_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2588,20'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2590,25'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/support/Marshal.c:2592,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMS_TAGGED_PROPERTY_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6779
      functionLinenumberEnd: 6787
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_TAGGED_PROPERTY_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6782,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6785,22'
              BranchSideFuncs:
                - TPMS_TAGGED_PROPERTY_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6787,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6785,31'
          Dst:             TPMS_TAGGED_PROPERTY_Marshal
    - functionName:    TPMS_TAGGED_PROPERTY_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2571
      functionLinenumberEnd: 2577
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2574,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2576,27'
          Dst:             UINT32_Marshal
    - functionName:    TPM_CC_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6857
      functionLinenumberEnd: 6864
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6860,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6862,27'
              BranchSideFuncs:
                - UINT32_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6864,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6862,36'
          Dst:             UINT32_Marshal
    - functionName:    TPMA_CC_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6664
      functionLinenumberEnd: 6671
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6667,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6669,27'
              BranchSideFuncs:
                - UINT32_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6671,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6669,36'
          Dst:             UINT32_Marshal
    - functionName:    TPM_HANDLE_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6912
      functionLinenumberEnd: 6919
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6915,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6917,27'
              BranchSideFuncs:
                - UINT32_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6919,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6917,36'
          Dst:             UINT32_Marshal
    - functionName:    TPMS_ALG_PROPERTY_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6706
      functionLinenumberEnd: 6714
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_ALG_PROPERTY_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6709,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6712,22'
              BranchSideFuncs:
                - TPMS_ALG_PROPERTY_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6714,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6712,31'
          Dst:             TPMS_ALG_PROPERTY_Marshal
    - functionName:    TPMS_ALG_PROPERTY_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2557
      functionLinenumberEnd: 2565
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2561,20'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2563,25'
          Dst:             UINT32_Marshal
    - functionName:    TPMS_PCR_SELECTION_Array_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6721
      functionLinenumberEnd: 6729
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - count
      BBCount:         10
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - TPMS_PCR_SELECTION_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6724,69'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6724,73'
              BranchSideFuncs:
                - TPMS_PCR_SELECTION_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6724,5'
              BranchSideFuncs:
                - TPMS_PCR_SELECTION_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6724,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6727,48'
              BranchSideFuncs:
                - TPMS_PCR_SELECTION_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6729,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6727,18'
          Dst:             TPMS_PCR_SELECTION_Unmarshal
    - functionName:    TPMS_PCR_SELECTION_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2396
      functionLinenumberEnd: 2414
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         17
      ICount:          107
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - BYTE_Array_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
        - UINT8_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2400,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2401,44'
              BranchSideFuncs:
                - UINT8_Unmarshal
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2402,9'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2402,35'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2402,39'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2404,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2402,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2403,16'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2404,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2404,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2404,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2406,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2406,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2407,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2409,51'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2399,9'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2401,18'
          Dst:             UINT8_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2409,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPML_PCR_SELECTION_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2790
      functionLinenumberEnd: 2804
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMS_PCR_SELECTION_Array_Unmarshal
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2793,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2793,8'
              BranchSideFuncs:
                - TPMS_PCR_SELECTION_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2795,13'
              BranchSideFuncs:
                - TPMS_PCR_SELECTION_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2795,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2796,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2799,39'
              BranchSideFuncs:
                - TPMS_PCR_SELECTION_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2792,14'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2798,22'
          Dst:             TPMS_PCR_SELECTION_Array_Unmarshal
    - functionName:    TPMT_HA_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6806
      functionLinenumberEnd: 6813
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMT_HA_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6809,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6811,27'
              BranchSideFuncs:
                - TPMT_HA_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6813,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6811,36'
          Dst:             TPMT_HA_Marshal
    - functionName:    TPML_DIGEST_VALUES_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2775
      functionLinenumberEnd: 2784
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_HA_Array_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2778,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2780,25'
          Dst:             TPMT_HA_Array_Marshal
    - functionName:    TPMT_HA_Array_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6794
      functionLinenumberEnd: 6802
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
        - count
      BBCount:         10
      ICount:          72
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - TPMT_HA_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6797,69'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6797,73'
              BranchSideFuncs:
                - TPMT_HA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6797,5'
              BranchSideFuncs:
                - TPMT_HA_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6797,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6800,37'
              BranchSideFuncs:
                - TPMT_HA_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6802,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6800,18'
          Dst:             TPMT_HA_Unmarshal
    - functionName:    TPML_DIGEST_VALUES_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2760
      functionLinenumberEnd: 2771
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMT_HA_Array_Unmarshal
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2763,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2763,8'
              BranchSideFuncs:
                - TPMT_HA_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2765,13'
              BranchSideFuncs:
                - TPMT_HA_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2765,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2766,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2769,28'
              BranchSideFuncs:
                - TPMT_HA_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2762,14'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2768,22'
          Dst:             TPMT_HA_Array_Unmarshal
    - functionName:    TPM2B_DIGEST_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6651
      functionLinenumberEnd: 6658
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_DIGEST_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6654,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6656,27'
              BranchSideFuncs:
                - TPM2B_DIGEST_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6658,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6656,36'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPML_DIGEST_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2745
      functionLinenumberEnd: 2754
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Array_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2748,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2750,25'
          Dst:             TPM2B_DIGEST_Array_Marshal
    - functionName:    TPM2B_DIGEST_Array_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6638
      functionLinenumberEnd: 6646
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - count
      BBCount:         10
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6641,69'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6641,73'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6641,5'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6641,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6644,42'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6646,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6644,18'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPML_DIGEST_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2726
      functionLinenumberEnd: 2741
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         14
      ICount:          86
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - TPM2B_DIGEST_Array_Unmarshal
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2729,35'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2729,39'
              BranchSideFuncs:
                - TPM2B_DIGEST_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2731,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2729,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2730,16'
              BranchSideFuncs:
                - TPM2B_DIGEST_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2731,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2731,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2731,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2733,13'
              BranchSideFuncs:
                - TPM2B_DIGEST_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2733,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2734,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2736,67'
              BranchSideFuncs:
                - TPM2B_DIGEST_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2728,14'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2736,22'
          Dst:             TPM2B_DIGEST_Array_Unmarshal
    - functionName:    TPM_ALG_ID_Array_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6832
      functionLinenumberEnd: 6839
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
        - count
      BBCount:         7
      ICount:          60
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6835,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6837,27'
              BranchSideFuncs:
                - UINT16_Marshal
            - BranchSide:      'tpm/src/support/Marshal.c:6839,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6837,36'
          Dst:             UINT16_Marshal
    - functionName:    TPML_ALG_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2696
      functionLinenumberEnd: 2705
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ALG_ID_Array_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2699,27'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2701,25'
          Dst:             TPM_ALG_ID_Array_Marshal
    - functionName:    TPM_ALG_ID_Array_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6820
      functionLinenumberEnd: 6828
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - count
      BBCount:         10
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6823,69'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6823,73'
              BranchSideFuncs:
                - UINT16_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6823,5'
              BranchSideFuncs:
                - UINT16_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6823,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6826,18'
              BranchSideFuncs:
                - UINT16_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6828,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6826,18'
          Dst:             UINT16_Unmarshal
    - functionName:    TPML_ALG_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2679
      functionLinenumberEnd: 2692
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Array_Unmarshal
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2682,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2682,8'
              BranchSideFuncs:
                - TPM_ALG_ID_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2684,13'
              BranchSideFuncs:
                - TPM_ALG_ID_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2684,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2685,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2687,63'
              BranchSideFuncs:
                - TPM_ALG_ID_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2681,14'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2687,22'
          Dst:             TPM_ALG_ID_Array_Unmarshal
    - functionName:    TPM_CC_Array_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 6845
      functionLinenumberEnd: 6853
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - count
      BBCount:         10
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:6848,69'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6848,73'
              BranchSideFuncs:
                - UINT32_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6848,5'
              BranchSideFuncs:
                - UINT32_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:6848,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:6851,18'
              BranchSideFuncs:
                - UINT32_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:6853,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:6851,18'
          Dst:             UINT32_Unmarshal
    - functionName:    TPML_CC_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2632
      functionLinenumberEnd: 2645
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          64
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_CC_Array_Unmarshal
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2635,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2635,8'
              BranchSideFuncs:
                - TPM_CC_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2637,13'
              BranchSideFuncs:
                - TPM_CC_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2637,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2638,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2640,55'
              BranchSideFuncs:
                - TPM_CC_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2634,14'
          Dst:             UINT32_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2640,22'
          Dst:             TPM_CC_Array_Unmarshal
    - functionName:    TPMT_TK_HASHCHECK_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2542
      functionLinenumberEnd: 2551
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - UINT16_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2544,32'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2546,25'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2549,25'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMT_TK_HASHCHECK_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2527
      functionLinenumberEnd: 2538
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         14
      ICount:          89
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMI_RH_HIERARCHY_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2530,35'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2530,39'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2532,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2530,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2531,16'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2532,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2532,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2534,35'
              BranchSideFuncs:
                - TPMI_RH_HIERARCHY_Unmarshal
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2535,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2535,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2535,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2537,53'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2529,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2533,18'
          Dst:             TPMI_RH_HIERARCHY_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2537,13'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMT_TK_AUTH_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2512
      functionLinenumberEnd: 2521
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - UINT16_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2514,32'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2516,25'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2519,25'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMT_TK_AUTH_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2496
      functionLinenumberEnd: 2508
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         16
      ICount:          100
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMI_RH_HIERARCHY_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2499,35'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2499,39'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2502,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2500,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2500,12'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2502,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2499,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2501,16'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2502,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2502,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2504,35'
              BranchSideFuncs:
                - TPMI_RH_HIERARCHY_Unmarshal
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2505,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2505,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2505,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2507,53'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2498,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2503,18'
          Dst:             TPMI_RH_HIERARCHY_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2507,13'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMT_TK_VERIFIED_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2481
      functionLinenumberEnd: 2490
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - UINT16_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2483,32'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2485,25'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2488,25'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMT_TK_VERIFIED_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2466
      functionLinenumberEnd: 2477
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         14
      ICount:          89
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMI_RH_HIERARCHY_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2469,35'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2469,39'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2471,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2469,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2470,16'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2471,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2471,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2473,35'
              BranchSideFuncs:
                - TPMI_RH_HIERARCHY_Unmarshal
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2474,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2474,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2474,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2476,53'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2468,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2472,18'
          Dst:             TPMI_RH_HIERARCHY_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2476,13'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMT_TK_CREATION_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2451
      functionLinenumberEnd: 2460
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - UINT16_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2453,32'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2455,25'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Marshal.c:2458,25'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMT_TK_CREATION_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2436
      functionLinenumberEnd: 2447
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         14
      ICount:          89
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMI_RH_HIERARCHY_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2439,35'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2439,39'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2441,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2439,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2440,16'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2441,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMI_RH_HIERARCHY_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2441,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2443,35'
              BranchSideFuncs:
                - TPMI_RH_HIERARCHY_Unmarshal
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2444,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2444,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2444,8'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2446,53'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2438,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2442,18'
          Dst:             TPMI_RH_HIERARCHY_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2446,13'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMS_PCR_SELECT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2381
      functionLinenumberEnd: 2390
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BYTE_Array_Marshal
        - UINT8_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2384,25'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/support/Marshal.c:2386,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPMS_PCR_SELECT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2362
      functionLinenumberEnd: 2377
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         14
      ICount:          89
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT8_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2365,35'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2365,39'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2367,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2365,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2366,16'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2367,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2367,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2367,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2369,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2369,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2370,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2372,51'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2364,14'
          Dst:             UINT8_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2372,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_NAME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2330
      functionLinenumberEnd: 2341
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2333,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2333,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2335,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2335,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2336,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2339,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2332,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2338,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_IV_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2324
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2316,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2317,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2318,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2314,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2319,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_IV_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2296
      functionLinenumberEnd: 2307
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2299,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2299,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2301,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2301,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2302,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2305,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2298,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2304,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_TIMEOUT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2278
      functionLinenumberEnd: 2291
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2283,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2284,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2285,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2281,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2286,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_TIMEOUT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2263
      functionLinenumberEnd: 2274
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2266,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2266,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2268,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2268,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2269,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2272,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2265,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2271,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_MAX_NV_BUFFER_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2230
      functionLinenumberEnd: 2241
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2233,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2233,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2235,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2235,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2236,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2239,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2232,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2238,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_MAX_BUFFER_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2212
      functionLinenumberEnd: 2225
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2217,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2218,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2219,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2215,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2220,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_MAX_BUFFER_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2197
      functionLinenumberEnd: 2208
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2200,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2200,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2202,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2202,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2203,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2206,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2199,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2205,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_EVENT_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2179
      functionLinenumberEnd: 2192
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BYTE_Array_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2184,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2185,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2186,23'
              BranchSideFuncs:
                - BYTE_Array_Marshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2182,27'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:2187,25'
          Dst:             BYTE_Array_Marshal
    - functionName:    TPM2B_EVENT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2164
      functionLinenumberEnd: 2175
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2167,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2167,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2169,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2169,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2170,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2173,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2166,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2172,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPM2B_DATA_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2089
      functionLinenumberEnd: 2100
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BYTE_Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:2092,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2092,8'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
            - BranchSide:      'tpm/src/support/Marshal.c:2094,13'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
        - Branch String:   'tpm/src/support/Marshal.c:2094,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:2095,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:2098,25'
              BranchSideFuncs:
                - BYTE_Array_Unmarshal
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:2091,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/support/Marshal.c:2097,22'
          Dst:             BYTE_Array_Unmarshal
    - functionName:    TPMS_ALGORITHM_DESCRIPTION_Marshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1913
      functionLinenumberEnd: 1921
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - source
        - buffer
        - size
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1917,20'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Marshal.c:1919,25'
          Dst:             UINT32_Marshal
    - functionName:    TPMI_ALG_CIPHER_MODE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1847
      functionLinenumberEnd: 1879
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         18
      ICount:          86
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1850,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1850,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1852,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1852,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1869,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1869,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1869,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1869,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1869,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1871,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1875,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1871,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1872,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1873,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1849,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_ALG_MAC_SCHEME_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1789
      functionLinenumberEnd: 1833
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         17
      ICount:          82
      EdgeCount:       18
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1792,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1792,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1794,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1794,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1823,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1823,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1823,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1823,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1825,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1829,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1825,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1826,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1827,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1791,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_ST_COMMAND_TAG_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1760
      functionLinenumberEnd: 1775
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         11
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1763,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1763,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1765,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1765,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1769,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1769,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1771,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1762,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_ECC_KEY_EXCHANGE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1719
      functionLinenumberEnd: 1745
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         13
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1722,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1722,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1724,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1724,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1735,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1737,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1741,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1737,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1738,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1739,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1721,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_ALG_ASYM_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1450
      functionLinenumberEnd: 1473
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         15
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1453,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1453,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1455,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1455,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1463,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1463,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1465,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1469,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1465,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1466,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1467,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1452,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_RH_ACT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1375
      functionLinenumberEnd: 1383
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1378,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1378,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1380,14'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1380,37'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1380,42'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1381,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1380,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1381,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1382,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1377,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_AC_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1361
      functionLinenumberEnd: 1369
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1364,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1364,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1366,14'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1366,33'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1366,38'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1367,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1366,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1367,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1368,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1363,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_LOCKOUT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1320
      functionLinenumberEnd: 1334
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          51
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1323,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1323,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1325,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1325,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1328,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1330,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1322,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_NV_AUTH_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1298
      functionLinenumberEnd: 1314
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         17
      ICount:          76
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1301,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1301,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1303,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1303,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1307,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1307,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1309,22'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1309,47'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1309,52'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1310,28'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1309,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1310,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1311,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1300,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_CLEAR_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1277
      functionLinenumberEnd: 1292
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         11
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1280,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1280,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1282,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1282,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1286,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1286,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1288,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1279,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_PROVISION_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1256
      functionLinenumberEnd: 1271
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         11
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1259,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1259,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1261,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1261,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1265,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1265,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1267,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1258,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_ENDORSEMENT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1232
      functionLinenumberEnd: 1250
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         13
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1235,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1235,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1237,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1237,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1240,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1242,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1246,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1242,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1243,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1244,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1234,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_OWNER_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1207
      functionLinenumberEnd: 1225
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         13
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1210,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1210,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1212,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1212,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1215,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1217,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1221,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1217,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1218,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1219,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1209,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_PLATFORM_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1187
      functionLinenumberEnd: 1201
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          51
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1190,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1190,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1192,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1192,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1195,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1197,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1189,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_HIERARCHY_POLICY_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1163
      functionLinenumberEnd: 1181
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         19
      ICount:          84
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1166,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1166,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1168,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1168,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1174,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1174,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1174,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1174,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1176,22'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1176,45'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1176,50'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1177,28'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1176,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1177,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1178,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1165,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_HIERARCHY_AUTH_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1139
      functionLinenumberEnd: 1156
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         13
      ICount:          64
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1142,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1142,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1144,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1144,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1150,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1150,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1150,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1150,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1152,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1141,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_RH_ENABLES_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1104
      functionLinenumberEnd: 1125
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         17
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1107,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1107,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1109,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1109,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1115,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1115,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1115,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1115,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1117,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1121,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1117,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1118,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1119,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1106,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_DH_CONTEXT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1014
      functionLinenumberEnd: 1024
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         22
      ICount:          105
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:1017,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1017,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1019,15'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1019,44'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1019,49'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1020,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1020,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1020,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1023,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1020,49'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1020,54'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1021,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1021,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1021,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1023,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1021,44'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1021,49'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1022,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:1019,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:1022,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1023,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:1016,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_SH_POLICY_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 993
      functionLinenumberEnd: 1001
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:996,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:996,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:998,14'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:998,45'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:998,50'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:999,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:998,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:999,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:1000,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:995,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_SH_HMAC_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 972
      functionLinenumberEnd: 980
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:975,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:975,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:977,14'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:977,43'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:977,48'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:978,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:977,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:978,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:979,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:974,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_DH_PCR_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         15
      ICount:          74
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:927,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:927,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:929,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:929,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:931,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:934,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:931,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:932,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:933,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:926,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_DH_ENTITY_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 892
      functionLinenumberEnd: 918
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         40
      ICount:          176
      EdgeCount:       50
      CyclomaticComplexity: 12
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:895,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:895,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:897,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:897,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:903,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:903,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:903,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:903,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:905,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:909,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:905,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:906,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:907,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:909,49'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:909,54'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:910,26'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:910,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:910,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:915,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:910,53'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:910,58'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:911,26'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:911,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:911,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:915,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:911,51'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:911,56'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:912,25'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:912,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:912,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:915,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:913,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:913,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:915,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:913,51'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:913,56'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:914,28'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:909,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:914,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:915,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:894,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_DH_PERSISTENT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 870
      functionLinenumberEnd: 878
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:873,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:873,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:875,14'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:875,41'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:875,46'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:876,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:875,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:876,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:877,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:872,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_DH_PARENT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 835
      functionLinenumberEnd: 857
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         27
      ICount:          119
      EdgeCount:       32
      CyclomaticComplexity: 7
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:838,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:838,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:840,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:840,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:845,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:845,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:845,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:847,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:851,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:847,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:848,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:849,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:851,49'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:851,54'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:852,26'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:852,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:852,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:854,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:852,53'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:852,58'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:853,28'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:851,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:853,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:854,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:837,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_DH_OBJECT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 807
      functionLinenumberEnd: 821
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
        - flag
      BBCount:         23
      ICount:          106
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:810,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:810,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:812,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:812,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:814,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:817,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:814,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:815,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:816,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:817,46'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:817,51'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:818,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:818,50'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:818,55'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:819,20'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:809,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMA_ACT_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 756
      functionLinenumberEnd: 764
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:759,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:759,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:761,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:761,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:762,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:763,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:758,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMA_ALGORITHM_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 622
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:625,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:625,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:627,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:627,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:628,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:629,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:624,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPM_CAP_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 491
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         21
      ICount:          96
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:494,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:494,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:496,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:496,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:510,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:512,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:493,14'
          Dst:             UINT32_Unmarshal
    - functionName:    TPM_SE_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 485
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         12
      ICount:          61
      EdgeCount:       12
      CyclomaticComplexity: 2
      functionsReached:
        - UINT8_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:472,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:472,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:474,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:474,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:479,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:479,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:479,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:481,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:471,14'
          Dst:             UINT8_Unmarshal
    - functionName:    TPM_SU_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 448
      functionLinenumberEnd: 463
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         11
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:451,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:451,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:453,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:453,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:457,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:457,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:459,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:450,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPM_EO_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 421
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         21
      ICount:          97
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:399,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:399,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:401,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:401,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:415,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:417,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:398,14'
          Dst:             UINT16_Unmarshal
    - functionName:    TPM_CLOCK_ADJUST_Unmarshal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 370
      functionLinenumberEnd: 390
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         16
      ICount:          77
      EdgeCount:       16
      CyclomaticComplexity: 2
      functionsReached:
        - UINT8_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/support/Marshal.c:373,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:373,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:375,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/Marshal.c:375,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Marshal.c:384,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:384,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:384,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:384,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:384,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:384,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:384,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Marshal.c:386,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Marshal.c:372,14'
          Dst:             UINT8_Unmarshal
    - functionName:    ByteArrayToUint64
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - a
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ByteArrayToUint32
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Memory.c:230,22'
          Dst:             ByteArrayToUint32
        - Src:             'tpm/src/support/Memory.c:230,56'
          Dst:             ByteArrayToUint32
    - functionName:    ByteArrayToUint32
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - a
      BBCount:         1
      ICount:          29
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteArrayToUint16
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - a
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteArrayToUint8
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - a
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Uint64ToByteArray
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - i
        - a
      BBCount:         1
      ICount:          71
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Uint32ToByteArray
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - i
        - a
      BBCount:         1
      ICount:          39
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Uint16ToByteArray
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - i
        - a
      BBCount:         1
      ICount:          25
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MemoryPad2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - b
        - newSize
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemorySet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/Memory.c:153,5'
          Dst:             MemorySet
    - functionName:    MemorySet
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - dest
        - value
        - size
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    45
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MemoryEqual2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - aIn
        - bIn
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - MemoryEqual
      functionUses:    27
      BranchProfiles:
        - Branch String:   'tpm/src/support/Memory.c:132,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Memory.c:133,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Memory.c:134,24'
              BranchSideFuncs:
                - MemoryEqual
      Callsites:
        - Src:             'tpm/src/support/Memory.c:134,12'
          Dst:             MemoryEqual
    - functionName:    MemoryEqual
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - buffer1
        - buffer2
        - size
      BBCount:         5
      ICount:          61
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    17
      BranchProfiles:
        - Branch String:   'tpm/src/support/Memory.c:77,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Memory.c:78,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Memory.c:79,13'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    MemoryConcat2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - aInOut
        - bIn
        - aMaxSize
      BBCount:         7
      ICount:          70
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
        - TpmFail
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/support/Memory.c:115,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Memory.c:115,5'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/support/Memory.c:115,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/support/Memory.c:115,5'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Memory.c:116,5'
          Dst:             MemoryCopy
    - functionName:    MemoryCopy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - dest
        - src
        - sSize
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    45
      BranchProfiles:
        - Branch String:   'tpm/src/support/Memory.c:56,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Memory.c:56,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Memory.c:57,17'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    MemoryCopy2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - dest
        - source
        - dSize
      BBCount:         14
      ICount:          79
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - MemoryCopy
        - TpmFail
      functionUses:    28
      BranchProfiles:
        - Branch String:   'tpm/src/support/Memory.c:92,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Memory.c:92,5'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
            - BranchSide:      'tpm/src/support/Memory.c:93,8'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
        - Branch String:   'tpm/src/support/Memory.c:93,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Memory.c:94,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Memory.c:97,9'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
        - Branch String:   'tpm/src/support/Memory.c:97,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Memory.c:97,9'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/support/Memory.c:98,20'
              BranchSideFuncs:
                - MemoryCopy
      Callsites:
        - Src:             'tpm/src/support/Memory.c:92,5'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Memory.c:97,9'
          Dst:             TpmFail
        - Src:             'tpm/src/support/Memory.c:98,9'
          Dst:             MemoryCopy
    - functionName:    TPMIsStarted
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Power.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMRegisterStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Power.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMInit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Power.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BuildResponseHeader
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Response.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - command
        - buffer
        - result
      BBCount:         18
      ICount:          129
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - UINT16_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Response.c:55,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Response.c:57,14'
              BranchSideFuncs:
                - UINT16_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
            - BranchSide:      'tpm/src/support/Response.c:62,15'
              BranchSideFuncs:
                - UINT16_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
        - Branch String:   'tpm/src/support/Response.c:66,17'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Response.c:66,53'
              BranchSideFuncs:
                - UINT16_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
            - BranchSide:      'tpm/src/support/Response.c:66,14'
              BranchSideFuncs:
                - UINT16_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
                - UINT32_Marshal
        - Branch String:   'tpm/src/support/Response.c:72,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Response.c:72,8'
              BranchSideFuncs:
                - UINT32_Marshal
                - UINT32_Marshal
            - BranchSide:      'tpm/src/support/Response.c:74,12'
              BranchSideFuncs:
                - UINT32_Marshal
                - UINT32_Marshal
        - Branch String:   'tpm/src/support/Response.c:74,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Response.c:75,13'
              BranchSideFuncs:
                - UINT32_Marshal
                - UINT32_Marshal
            - BranchSide:      'tpm/src/support/Response.c:76,12'
              BranchSideFuncs:
                - UINT32_Marshal
        - Branch String:   'tpm/src/support/Response.c:76,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Response.c:77,38'
              BranchSideFuncs:
                - UINT32_Marshal
            - BranchSide:      'tpm/src/support/Response.c:78,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Response.c:69,5'
          Dst:             UINT16_Marshal
        - Src:             'tpm/src/support/Response.c:70,5'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Response.c:71,5'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Response.c:75,13'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/support/Response.c:77,13'
          Dst:             UINT32_Marshal
    - functionName:    RcSafeAddToResult
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/ResponseCodeProcessing.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - responseCode
        - modifier
      BBCount:         7
      ICount:          41
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    20
      BranchProfiles:
        - Branch String:   'tpm/src/support/ResponseCodeProcessing.c:48,33'
          Branch Sides:
            - BranchSide:      'tpm/src/support/ResponseCodeProcessing.c:48,38'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/ResponseCodeProcessing.c:51,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/ResponseCodeProcessing.c:48,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/ResponseCodeProcessing.c:49,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/ResponseCodeProcessing.c:51,16'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    MarshalUint32
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - integer
        - buffer
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Uint32ToByteArray
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/TpmFail.c:127,5'
          Dst:             Uint32ToByteArray
    - functionName:    MarshalUint16
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - integer
        - buffer
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Uint16ToByteArray
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/TpmFail.c:118,5'
          Dst:             Uint16ToByteArray
    - functionName:    Unmarshal32
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ByteArrayToUint32
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/support/TpmFail.c:135,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:136,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/TpmFail.c:137,15'
              BranchSideFuncs:
                - ByteArrayToUint32
      Callsites:
        - Src:             'tpm/src/support/TpmFail.c:137,15'
          Dst:             ByteArrayToUint32
    - functionName:    Unmarshal16
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - target
        - buffer
        - size
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ByteArrayToUint16
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/TpmFail.c:145,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:146,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/TpmFail.c:147,15'
              BranchSideFuncs:
                - ByteArrayToUint16
      Callsites:
        - Src:             'tpm/src/support/TpmFail.c:147,15'
          Dst:             ByteArrayToUint16
    - functionName:    TpmFailureMode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - inRequestSize
        - inRequest
        - outResponseSize
        - outResponse
      BBCount:         73
      ICount:          402
      EdgeCount:       93
      CyclomaticComplexity: 22
      functionsReached:
        - MarshalUint16
        - MarshalUint32
        - TPM_Manufacture
        - Unmarshal16
        - Unmarshal32
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/TpmFail.c:250,27'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:250,30'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:251,9'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:250,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:251,9'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:254,30'
              BranchSideFuncs:
                - Unmarshal16
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - Unmarshal32
                - Unmarshal32
                - Unmarshal32
                - Unmarshal32
                - Unmarshal32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:255,10'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:255,33'
              BranchSideFuncs:
                - Unmarshal32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - Unmarshal32
                - Unmarshal32
                - Unmarshal32
                - Unmarshal32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:257,9'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:256,10'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:256,33'
              BranchSideFuncs:
                - Unmarshal32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - Unmarshal32
                - Unmarshal32
                - Unmarshal32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:257,9'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:254,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:257,9'
              BranchSideFuncs:
                - Unmarshal32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - Unmarshal32
                - Unmarshal32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:258,15'
              BranchSideFuncs:
                - Unmarshal32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - Unmarshal32
                - Unmarshal32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:258,41'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:258,51'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:259,9'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:258,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:259,9'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:260,19'
              BranchSideFuncs:
                - Unmarshal32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - Unmarshal32
                - Unmarshal32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:260,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:264,23'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:279,23'
              BranchSideFuncs:
                - Unmarshal32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - Unmarshal32
                - Unmarshal32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
            - BranchSide:      'tpm/src/support/TpmFail.c:391,13'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:264,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:265,17'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:266,25'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:271,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:272,32'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:274,32'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:281,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:281,20'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:285,17'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:282,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:282,19'
              BranchSideFuncs:
                - Unmarshal32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - Unmarshal32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
            - BranchSide:      'tpm/src/support/TpmFail.c:285,17'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:283,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:283,20'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:285,17'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:284,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:284,20'
              BranchSideFuncs:
                - Unmarshal32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
            - BranchSide:      'tpm/src/support/TpmFail.c:285,17'
              BranchSideFuncs:
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:279,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:285,17'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
            - BranchSide:      'tpm/src/support/TpmFail.c:293,16'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
        - Branch String:   'tpm/src/support/TpmFail.c:293,27'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:293,30'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
            - BranchSide:      'tpm/src/support/TpmFail.c:298,16'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:293,38'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:293,41'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
                - TPM_Manufacture
            - BranchSide:      'tpm/src/support/TpmFail.c:298,16'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:293,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:295,32'
              BranchSideFuncs:
                - TPM_Manufacture
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:298,16'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:298,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:299,23'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:300,21'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:302,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:303,20'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:305,20'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:308,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:309,24'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:311,24'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:321,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:322,24'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:388,42'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
        - Branch String:   'tpm/src/support/TpmFail.c:322,17'
          Branch Sides:
            - BranchSide:      'tpm/src/support/TpmFail.c:327,30'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:335,30'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:343,30'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:353,28'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:361,28'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:367,28'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:373,28'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
            - BranchSide:      'tpm/src/support/TpmFail.c:382,28'
              BranchSideFuncs:
                - MarshalUint32
                - MarshalUint16
                - MarshalUint32
                - MarshalUint32
      Callsites:
        - Src:             'tpm/src/support/TpmFail.c:254,10'
          Dst:             Unmarshal16
        - Src:             'tpm/src/support/TpmFail.c:255,13'
          Dst:             Unmarshal32
        - Src:             'tpm/src/support/TpmFail.c:256,13'
          Dst:             Unmarshal32
        - Src:             'tpm/src/support/TpmFail.c:267,27'
          Dst:             MarshalUint16
        - Src:             'tpm/src/support/TpmFail.c:268,28'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:269,28'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:270,28'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:272,32'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:274,32'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:281,20'
          Dst:             Unmarshal32
        - Src:             'tpm/src/support/TpmFail.c:283,20'
          Dst:             Unmarshal32
        - Src:             'tpm/src/support/TpmFail.c:284,20'
          Dst:             Unmarshal32
        - Src:             'tpm/src/support/TpmFail.c:296,17'
          Dst:             TPM_Manufacture
        - Src:             'tpm/src/support/TpmFail.c:315,28'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:317,28'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:319,28'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:388,28'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:397,5'
          Dst:             MarshalUint16
        - Src:             'tpm/src/support/TpmFail.c:398,5'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:399,5'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:406,19'
          Dst:             MarshalUint16
        - Src:             'tpm/src/support/TpmFail.c:407,20'
          Dst:             MarshalUint32
        - Src:             'tpm/src/support/TpmFail.c:408,20'
          Dst:             MarshalUint32
    - functionName:    TpmLogFailure
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - code
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetForceFailureMode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TpmFail
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - code
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__Fail
      functionUses:    262
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/support/TpmFail.c:229,5'
          Dst:             _plat__Fail
    - functionName:    AcSendObject
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/AttachedComponent/AC_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - acHandle
        - object
        - acDataOut
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    AcCapabilitiesGet
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/AttachedComponent/AC_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      char
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - component
        - type
        - count
        - capabilityList
      BBCount:         27
      ICount:          170
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - AcToCapabilities
        - HandleGetType
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/AttachedComponent/AC_spt.c:107,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:107,5'
              BranchSideFuncs:
                - AcToCapabilities
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:108,37'
              BranchSideFuncs:
                - AcToCapabilities
        - Branch String:   'tpm/src/command/AttachedComponent/AC_spt.c:112,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:113,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:115,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/AttachedComponent/AC_spt.c:115,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:115,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:118,15'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/AttachedComponent/AC_spt.c:118,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:120,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:133,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/AttachedComponent/AC_spt.c:120,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:123,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:132,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/AttachedComponent/AC_spt.c:123,55'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:123,59'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:123,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/AttachedComponent/AC_spt.c:123,17'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:126,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:130,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/AttachedComponent/AC_spt.c:107,5'
          Dst:             HandleGetType
        - Src:             'tpm/src/command/AttachedComponent/AC_spt.c:107,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/AttachedComponent/AC_spt.c:108,20'
          Dst:             AcToCapabilities
    - functionName:    AcToCapabilities
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/AttachedComponent/AC_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - component
      BBCount:         8
      ICount:          50
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/AttachedComponent/AC_spt.c:72,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:74,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:77,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/AttachedComponent/AC_spt.c:74,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:75,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_spt.c:76,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    AcIsAccessible
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/AttachedComponent/AC_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - acHandle
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - AcToCapabilities
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/AttachedComponent/AC_spt.c:87,12'
          Dst:             AcToCapabilities
    - functionName:    SequenceDataImport
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Context/Context_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
        - exportObject
      BBCount:         7
      ICount:          73
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CryptHashImportState
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/Context/Context_spt.c:235,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/Context_spt.c:237,35'
              BranchSideFuncs:
                - CryptHashImportState
            - BranchSide:      'tpm/src/command/Context/Context_spt.c:243,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Context/Context_spt.c:241,9'
          Dst:             CryptHashImportState
    - functionName:    SequenceDataExport
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Context/Context_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
        - exportObject
      BBCount:         7
      ICount:          73
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CryptHashExportState
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/Context/Context_spt.c:208,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/Context_spt.c:210,35'
              BranchSideFuncs:
                - CryptHashExportState
            - BranchSide:      'tpm/src/command/Context/Context_spt.c:216,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Context/Context_spt.c:214,9'
          Dst:             CryptHashExportState
    - functionName:    ComputeContextIntegrity
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Context/Context_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - contextBlob
        - integrity
      BBCount:         6
      ICount:          92
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdateInt
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - HierarchyGetProof
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/Context/Context_spt.c:166,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/Context_spt.c:166,8'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHmacEnd2B
            - BranchSide:      'tpm/src/command/Context/Context_spt.c:168,24'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHmacEnd2B
      Callsites:
        - Src:             'tpm/src/command/Context/Context_spt.c:150,13'
          Dst:             HierarchyGetProof
        - Src:             'tpm/src/command/Context/Context_spt.c:154,9'
          Dst:             CryptHmacStart2B
        - Src:             'tpm/src/command/Context/Context_spt.c:161,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/Context/Context_spt.c:167,9'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/Context/Context_spt.c:172,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/Context/Context_spt.c:176,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/Context/Context_spt.c:181,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/command/Context/Context_spt.c:186,5'
          Dst:             CryptHmacEnd2B
    - functionName:    ComputeContextProtectionKey
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Context/Context_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - contextBlob
        - symKey
        - iv
      BBCount:         11
      ICount:          132
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - CryptGetSymmetricBlockSize
        - CryptKDFa
        - HierarchyGetProof
        - MemoryCopy
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/Context/Context_spt.c:107,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/Context_spt.c:107,5'
              BranchSideFuncs:
                - MemoryCopy
                - TpmFail
                - MemoryCopy
            - BranchSide:      'tpm/src/command/Context/Context_spt.c:108,16'
              BranchSideFuncs:
                - MemoryCopy
                - TpmFail
                - MemoryCopy
        - Branch String:   'tpm/src/command/Context/Context_spt.c:111,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/Context_spt.c:111,5'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/command/Context/Context_spt.c:111,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/command/Context/Context_spt.c:77,13'
          Dst:             HierarchyGetProof
        - Src:             'tpm/src/command/Context/Context_spt.c:82,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/command/Context/Context_spt.c:87,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/command/Context/Context_spt.c:93,18'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'tpm/src/command/Context/Context_spt.c:96,5'
          Dst:             CryptKDFa
        - Src:             'tpm/src/command/Context/Context_spt.c:107,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/Context_spt.c:108,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/command/Context/Context_spt.c:111,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/Context_spt.c:112,5'
          Dst:             MemoryCopy
    - functionName:    ComputeInnerIntegrity
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - short
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashAlg
        - name
        - dataSize
        - sensitiveData
        - integrity
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:234,25'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/Object/Object_spt.c:237,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/command/Object/Object_spt.c:240,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/Object/Object_spt.c:243,5'
          Dst:             CryptHashEnd2B
    - functionName:    ObjectSetExternal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1594
      functionLinenumberEnd: 1596
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UnmarshalToPublic
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1554
      functionLinenumberEnd: 1589
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - tOut
        - tIn
        - derivation
        - labelContext
      BBCount:         22
      ICount:          163
      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:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1564,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1565,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1566,39'
              BranchSideFuncs:
                - TPMI_ALG_HASH_Unmarshal
                - TPMA_OBJECT_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMU_PUBLIC_PARMS_Unmarshal
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMS_DERIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1567,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1568,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1569,37'
              BranchSideFuncs:
                - TPMA_OBJECT_Unmarshal
                - TPM2B_DIGEST_Unmarshal
                - TPMU_PUBLIC_PARMS_Unmarshal
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMS_DERIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1570,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1571,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1572,38'
              BranchSideFuncs:
                - TPM2B_DIGEST_Unmarshal
                - TPMU_PUBLIC_PARMS_Unmarshal
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMS_DERIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1573,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1574,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1576,38'
              BranchSideFuncs:
                - TPMU_PUBLIC_PARMS_Unmarshal
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMS_DERIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1577,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1578,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1580,8'
              BranchSideFuncs:
                - TPMU_PUBLIC_ID_Unmarshal
                - TPMS_DERIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1580,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1581,40'
              BranchSideFuncs:
                - TPMS_DERIVE_Unmarshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1584,44'
              BranchSideFuncs:
                - TPMU_PUBLIC_ID_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1586,35'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1586,39'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1588,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1586,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1587,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1588,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:1561,5'
          Dst:             MemorySet
        - Src:             'tpm/src/command/Object/Object_spt.c:1563,14'
          Dst:             TPMI_ALG_PUBLIC_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1566,14'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1569,14'
          Dst:             TPMA_OBJECT_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1572,14'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1576,9'
          Dst:             TPMU_PUBLIC_PARMS_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1581,18'
          Dst:             TPMS_DERIVE_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1584,18'
          Dst:             TPMU_PUBLIC_ID_Unmarshal
    - functionName:    SetLabelAndContext
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1511
      functionLinenumberEnd: 1539
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - labelContext
        - sensitive
      BBCount:         15
      ICount:          102
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - MemoryCopy2B
        - TPMS_DERIVE_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1519,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1521,18'
              BranchSideFuncs:
                - TPMS_DERIVE_Unmarshal
                - MemoryCopy2B
                - MemoryCopy2B
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1538,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1524,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1525,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1528,12'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryCopy2B
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1528,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1529,27'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryCopy2B
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1533,12'
              BranchSideFuncs:
                - MemoryCopy2B
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1533,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1534,27'
              BranchSideFuncs:
                - MemoryCopy2B
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1537,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:1523,18'
          Dst:             TPMS_DERIVE_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1529,13'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/command/Object/Object_spt.c:1534,13'
          Dst:             MemoryCopy2B
    - functionName:    CredentialToSecret
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1450
      functionLinenumberEnd: 1487
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - inIDObject
        - name
        - seed
        - protector
        - secret
      BBCount:         12
      ICount:          119
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CryptHashGetDigestSize
        - TPM2B_DIGEST_Unmarshal
        - UnwrapOuter
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1469,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1473,13'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - TPM2B_DIGEST_Unmarshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1486,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1483,37'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1483,40'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1485,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1483,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1484,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1485,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:1462,14'
          Dst:             UnwrapOuter
        - Src:             'tpm/src/command/Object/Object_spt.c:1473,51'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1475,50'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1479,18'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    UnwrapOuter
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 906
      functionLinenumberEnd: 966
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - protector
        - name
        - hashAlg
        - seed
        - useIV
        - dataSize
        - outerBuffer
      BBCount:         21
      ICount:          162
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - ComputeOuterIntegrity
        - ComputeProtectionKeyParms
        - CryptGetSymmetricBlockSize
        - CryptSymmetricDecrypt
        - MemoryEqual2B
        - TPM2B_DIGEST_Unmarshal
        - TPM2B_IV_Unmarshal
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:922,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:925,31'
              BranchSideFuncs:
                - ComputeOuterIntegrity
                - MemoryEqual2B
                - ComputeProtectionKeyParms
                - CryptSymmetricDecrypt
                - TPM2B_IV_Unmarshal
                - CryptGetSymmetricBlockSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:956,8'
              BranchSideFuncs:
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Object/Object_spt.c:933,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:934,13'
              BranchSideFuncs:
                - ComputeProtectionKeyParms
                - CryptSymmetricDecrypt
                - TPM2B_IV_Unmarshal
                - CryptGetSymmetricBlockSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:937,13'
              BranchSideFuncs:
                - ComputeProtectionKeyParms
                - CryptSymmetricDecrypt
                - TPM2B_IV_Unmarshal
                - CryptGetSymmetricBlockSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:939,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:941,22'
              BranchSideFuncs:
                - TPM2B_IV_Unmarshal
                - CryptSymmetricDecrypt
                - CryptGetSymmetricBlockSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:952,5'
              BranchSideFuncs:
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Object/Object_spt.c:942,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:946,27'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:951,9'
              BranchSideFuncs:
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Object/Object_spt.c:946,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:947,28'
              BranchSideFuncs:
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:949,24'
              BranchSideFuncs:
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Object/Object_spt.c:956,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:957,31'
              BranchSideFuncs:
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:965,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:921,21'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:925,9'
          Dst:             ComputeOuterIntegrity
        - Src:             'tpm/src/command/Object/Object_spt.c:933,13'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/Object/Object_spt.c:936,9'
          Dst:             ComputeProtectionKeyParms
        - Src:             'tpm/src/command/Object/Object_spt.c:941,22'
          Dst:             TPM2B_IV_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:946,35'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'tpm/src/command/Object/Object_spt.c:957,9'
          Dst:             CryptSymmetricDecrypt
    - functionName:    ComputeOuterIntegrity
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
        - protector
        - hashAlg
        - seedIn
        - sensitiveSize
        - sensitiveData
        - integrity
      BBCount:         6
      ICount:          82
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHashGetDigestSize
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - CryptKDFa
        - GetSeedForKDF
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:191,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:191,8'
              BranchSideFuncs:
                - GetSeedForKDF
                - CryptHashGetDigestSize
                - CryptKDFa
                - CryptHmacStart2B
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:192,30'
              BranchSideFuncs:
                - GetSeedForKDF
                - CryptHashGetDigestSize
                - CryptKDFa
                - CryptHmacStart2B
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:192,16'
          Dst:             GetSeedForKDF
        - Src:             'tpm/src/command/Object/Object_spt.c:194,22'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:197,5'
          Dst:             CryptKDFa
        - Src:             'tpm/src/command/Object/Object_spt.c:207,25'
          Dst:             CryptHmacStart2B
        - Src:             'tpm/src/command/Object/Object_spt.c:210,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/command/Object/Object_spt.c:213,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/Object/Object_spt.c:216,5'
          Dst:             CryptHmacEnd2B
    - functionName:    ComputeProtectionKeyParms
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - protector
        - hashAlg
        - name
        - seedIn
        - symAlg
        - keyBits
        - symKey
      BBCount:         9
      ICount:          107
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptKDFa
        - GetSeedForKDF
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:111,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:114,10'
              BranchSideFuncs:
                - CryptKDFa
                - GetSeedForKDF
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:120,30'
              BranchSideFuncs:
                - CryptKDFa
                - GetSeedForKDF
        - Branch String:   'tpm/src/command/Object/Object_spt.c:127,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:127,8'
              BranchSideFuncs:
                - GetSeedForKDF
                - CryptKDFa
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:128,30'
              BranchSideFuncs:
                - GetSeedForKDF
                - CryptKDFa
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:128,16'
          Dst:             GetSeedForKDF
        - Src:             'tpm/src/command/Object/Object_spt.c:130,5'
          Dst:             CryptKDFa
    - functionName:    GetSeedForKDF
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 772
      functionLinenumberEnd: 781
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - protector
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:777,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:778,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:780,17'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    SecretToCredential
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1405
      functionLinenumberEnd: 1426
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - secret
        - name
        - seed
        - protector
        - outIDObject
      BBCount:         10
      ICount:          87
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - CryptHashGetDigestSize
        - ProduceOuterWrap
        - TPM2B_DIGEST_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1411,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1411,5'
              BranchSideFuncs:
                - TpmFail
                - CryptHashGetDigestSize
                - TPM2B_DIGEST_Marshal
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1411,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1411,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1411,5'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - TPM2B_DIGEST_Marshal
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1411,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:1411,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Object_spt.c:1418,23'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1421,16'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1424,27'
          Dst:             ProduceOuterWrap
    - functionName:    ProduceOuterWrap
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 812
      functionLinenumberEnd: 875
      functionDepth:   0
      returnType:      short
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - protector
        - name
        - hashAlg
        - seed
        - useIV
        - dataSize
        - outerBuffer
      BBCount:         6
      ICount:          144
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ComputeOuterIntegrity
        - ComputeProtectionKeyParms
        - CryptHashGetDigestSize
        - CryptRandomGenerate
        - CryptSymmetricEncrypt
        - GetIV2BSize
        - TPM2B_DIGEST_Marshal
        - TPM2B_IV_Marshal
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:830,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:830,8'
              BranchSideFuncs:
                - GetIV2BSize
                - CryptRandomGenerate
                - TPM2B_IV_Marshal
                - ComputeProtectionKeyParms
                - CryptSymmetricEncrypt
                - ComputeOuterIntegrity
                - TPM2B_DIGEST_Marshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:832,30'
              BranchSideFuncs:
                - GetIV2BSize
                - CryptRandomGenerate
                - TPM2B_IV_Marshal
                - ComputeProtectionKeyParms
                - CryptSymmetricEncrypt
                - ComputeOuterIntegrity
                - TPM2B_DIGEST_Marshal
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:826,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:832,18'
          Dst:             GetIV2BSize
        - Src:             'tpm/src/command/Object/Object_spt.c:837,9'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/command/Object/Object_spt.c:841,9'
          Dst:             TPM2B_IV_Marshal
        - Src:             'tpm/src/command/Object/Object_spt.c:850,5'
          Dst:             ComputeProtectionKeyParms
        - Src:             'tpm/src/command/Object/Object_spt.c:853,5'
          Dst:             CryptSymmetricEncrypt
        - Src:             'tpm/src/command/Object/Object_spt.c:863,5'
          Dst:             ComputeOuterIntegrity
        - Src:             'tpm/src/command/Object/Object_spt.c:872,5'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    GetIV2BSize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - protector
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptGetSymmetricBlockSize
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:52,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:55,17'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:60,19'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:66,29'
          Dst:             CryptGetSymmetricBlockSize
    - functionName:    CheckInnerIntegrity
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 317
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
        - hashAlg
        - dataSize
        - innerBuffer
      BBCount:         9
      ICount:          69
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ComputeInnerIntegrity
        - MemoryEqual2B
        - TPM2B_DIGEST_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:308,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:308,8'
              BranchSideFuncs:
                - ComputeInnerIntegrity
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:312,13'
              BranchSideFuncs:
                - ComputeInnerIntegrity
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/Object/Object_spt.c:314,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:315,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:316,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:307,14'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:311,9'
          Dst:             ComputeInnerIntegrity
        - Src:             'tpm/src/command/Object/Object_spt.c:314,13'
          Dst:             MemoryEqual2B
    - functionName:    DuplicateToSensitive
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1316
      functionLinenumberEnd: 1390
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - inPrivate
        - name
        - parent
        - nameAlg
        - seed
        - symDef
        - innerSymKey
        - sensitive
      BBCount:         43
      ICount:          291
      EdgeCount:       53
      CyclomaticComplexity: 12
      functionsReached:
        - CheckInnerIntegrity
        - CryptHashGetDigestSize
        - CryptSymmetricDecrypt
        - TPMT_SENSITIVE_Unmarshal
        - TpmFail
        - UINT16_Unmarshal
        - UnwrapOuter
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1325,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1325,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
                - TpmFail
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UnwrapOuter
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1325,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1325,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1325,5'
              BranchSideFuncs:
                - TpmFail
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
                - TpmFail
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UnwrapOuter
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1328,5'
              BranchSideFuncs:
                - TpmFail
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
                - TpmFail
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UnwrapOuter
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1328,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1328,5'
              BranchSideFuncs:
                - TpmFail
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
                - TpmFail
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UnwrapOuter
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1328,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1328,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1328,5'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
                - TpmFail
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UnwrapOuter
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1331,21'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
                - TpmFail
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UnwrapOuter
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1335,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1338,35'
              BranchSideFuncs:
                - UnwrapOuter
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
                - TpmFail
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1349,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
                - TpmFail
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1342,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1343,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1345,66'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
                - TpmFail
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1349,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1352,9'
              BranchSideFuncs:
                - TpmFail
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1372,14'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1352,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1352,9'
              BranchSideFuncs:
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1355,31'
              BranchSideFuncs:
                - CryptSymmetricDecrypt
                - CheckInnerIntegrity
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1365,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1366,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1368,66'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1375,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1377,13'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Unmarshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1389,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1377,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1378,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1382,47'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Unmarshal
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:1325,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Object_spt.c:1328,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Object_spt.c:1340,35'
          Dst:             UnwrapOuter
        - Src:             'tpm/src/command/Object/Object_spt.c:1345,43'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1346,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1352,9'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Object_spt.c:1355,9'
          Dst:             CryptSymmetricDecrypt
        - Src:             'tpm/src/command/Object/Object_spt.c:1364,18'
          Dst:             CheckInnerIntegrity
        - Src:             'tpm/src/command/Object/Object_spt.c:1368,43'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1369,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1374,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1382,22'
          Dst:             TPMT_SENSITIVE_Unmarshal
    - functionName:    ProduceInnerIntegrity
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - name
        - hashAlg
        - dataSize
        - innerBuffer
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ComputeInnerIntegrity
        - CryptHashGetDigestSize
        - TPM2B_DIGEST_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:272,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:275,5'
          Dst:             ComputeInnerIntegrity
        - Src:             'tpm/src/command/Object/Object_spt.c:279,5'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    SensitiveToDuplicate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1190
      functionLinenumberEnd: 1283
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - sensitive
        - name
        - parent
        - nameAlg
        - seed
        - symDef
        - innerSymKey
        - outPrivate
      BBCount:         42
      ICount:          305
      EdgeCount:       51
      CyclomaticComplexity: 11
      functionsReached:
        - CryptHashGetDigestSize
        - CryptRandomGenerate
        - CryptSymmetricEncrypt
        - MarshalSensitive
        - ProduceInnerIntegrity
        - ProduceOuterWrap
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1199,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1199,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - MarshalSensitive
                - ProduceOuterWrap
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - CryptRandomGenerate
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1199,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1199,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1199,5'
              BranchSideFuncs:
                - TpmFail
                - MarshalSensitive
                - ProduceOuterWrap
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - CryptRandomGenerate
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1202,5'
              BranchSideFuncs:
                - TpmFail
                - MarshalSensitive
                - ProduceOuterWrap
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - CryptRandomGenerate
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1202,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1202,5'
              BranchSideFuncs:
                - TpmFail
                - MarshalSensitive
                - ProduceOuterWrap
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - CryptRandomGenerate
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1202,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1202,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1202,5'
              BranchSideFuncs:
                - MarshalSensitive
                - ProduceOuterWrap
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - CryptRandomGenerate
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1205,21'
              BranchSideFuncs:
                - MarshalSensitive
                - ProduceOuterWrap
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - CryptRandomGenerate
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1208,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1210,21'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - MarshalSensitive
                - ProduceOuterWrap
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - CryptRandomGenerate
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1219,8'
              BranchSideFuncs:
                - MarshalSensitive
                - ProduceOuterWrap
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - CryptRandomGenerate
                - CryptHashGetDigestSize
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1219,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1221,21'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - MarshalSensitive
                - ProduceOuterWrap
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - CryptRandomGenerate
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1230,39'
              BranchSideFuncs:
                - MarshalSensitive
                - ProduceOuterWrap
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - CryptRandomGenerate
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1234,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1236,15'
              BranchSideFuncs:
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - ProduceOuterWrap
                - CryptRandomGenerate
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1275,8'
              BranchSideFuncs:
                - ProduceOuterWrap
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1240,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1241,68'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - ProduceOuterWrap
                - CryptRandomGenerate
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1242,42'
              BranchSideFuncs:
                - ProduceInnerIntegrity
                - TpmFail
                - CryptSymmetricEncrypt
                - ProduceOuterWrap
                - CryptRandomGenerate
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1244,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1246,36'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptSymmetricEncrypt
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1255,13'
              BranchSideFuncs:
                - TpmFail
                - CryptSymmetricEncrypt
                - ProduceOuterWrap
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1255,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:0,0'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1255,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1270,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1271,13'
              BranchSideFuncs:
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1272,5'
              BranchSideFuncs:
                - ProduceOuterWrap
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1275,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1275,8'
              BranchSideFuncs:
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1278,13'
              BranchSideFuncs:
                - ProduceOuterWrap
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:1199,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Object_spt.c:1202,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Object_spt.c:1216,43'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1227,43'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1230,16'
          Dst:             MarshalSensitive
        - Src:             'tpm/src/command/Object/Object_spt.c:1241,45'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1242,20'
          Dst:             ProduceInnerIntegrity
        - Src:             'tpm/src/command/Object/Object_spt.c:1247,13'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/command/Object/Object_spt.c:1255,13'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Object_spt.c:1259,9'
          Dst:             CryptSymmetricEncrypt
        - Src:             'tpm/src/command/Object/Object_spt.c:1277,20'
          Dst:             ProduceOuterWrap
    - functionName:    MarshalSensitive
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 979
      functionLinenumberEnd: 1016
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - parent
        - buffer
        - sensitive
        - nameAlg
      BBCount:         12
      ICount:          117
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CryptHashGetDigestSize
        - MemoryPad2B
        - TPMT_SENSITIVE_Marshal
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:991,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:993,27'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Marshal
                - UINT16_Marshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1011,41'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Marshal
                - UINT16_Marshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1002,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1002,16'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Marshal
                - UINT16_Marshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1004,13'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Marshal
                - UINT16_Marshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1001,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1004,13'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Marshal
                - UINT16_Marshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1005,41'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Marshal
                - UINT16_Marshal
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:985,42'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:985,5'
          Dst:             MemoryPad2B
        - Src:             'tpm/src/command/Object/Object_spt.c:1005,18'
          Dst:             TPMT_SENSITIVE_Marshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1011,18'
          Dst:             TPMT_SENSITIVE_Marshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1014,32'
          Dst:             UINT16_Marshal
    - functionName:    PrivateToSensitive
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1108
      functionLinenumberEnd: 1161
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - inPrivate
        - name
        - parent
        - nameAlg
        - sensitive
      BBCount:         28
      ICount:          201
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - CryptHashGetDigestSize
        - GetIV2BSize
        - TPMT_SENSITIVE_Unmarshal
        - TpmFail
        - UINT16_Unmarshal
        - UnwrapOuter
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1120,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1120,5'
              BranchSideFuncs:
                - TpmFail
                - UnwrapOuter
                - CryptHashGetDigestSize
                - GetIV2BSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1120,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1120,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1120,5'
              BranchSideFuncs:
                - UnwrapOuter
                - CryptHashGetDigestSize
                - GetIV2BSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1125,16'
              BranchSideFuncs:
                - UnwrapOuter
                - CryptHashGetDigestSize
                - GetIV2BSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1125,15'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1125,34'
              BranchSideFuncs:
                - UnwrapOuter
                - CryptHashGetDigestSize
                - GetIV2BSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1125,44'
              BranchSideFuncs:
                - UnwrapOuter
                - CryptHashGetDigestSize
                - GetIV2BSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1130,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1131,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1133,61'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - GetIV2BSize
                - UINT16_Unmarshal
                - TPMT_SENSITIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1146,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1148,13'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Unmarshal
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1160,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1148,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1149,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1153,47'
              BranchSideFuncs:
                - TPMT_SENSITIVE_Unmarshal
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1154,41'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1154,44'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1156,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:1120,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Object_spt.c:1128,14'
          Dst:             UnwrapOuter
        - Src:             'tpm/src/command/Object/Object_spt.c:1133,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1136,14'
          Dst:             GetIV2BSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1145,14'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/command/Object/Object_spt.c:1153,22'
          Dst:             TPMT_SENSITIVE_Unmarshal
    - functionName:    SensitiveToPrivate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1035
      functionLinenumberEnd: 1076
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - sensitive
        - name
        - parent
        - nameAlg
        - outPrivate
      BBCount:         13
      ICount:          118
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - CryptHashGetDigestSize
        - GetIV2BSize
        - MarshalSensitive
        - ProduceOuterWrap
        - TpmFail
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1042,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1042,5'
              BranchSideFuncs:
                - TpmFail
                - CryptHashGetDigestSize
                - GetIV2BSize
                - MarshalSensitive
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1042,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1042,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1042,5'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - GetIV2BSize
                - MarshalSensitive
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1045,8'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - GetIV2BSize
                - MarshalSensitive
                - ProduceOuterWrap
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1045,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1048,19'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - GetIV2BSize
                - MarshalSensitive
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1053,19'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - GetIV2BSize
                - MarshalSensitive
                - ProduceOuterWrap
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:1042,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Object_spt.c:1059,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1065,14'
          Dst:             GetIV2BSize
        - Src:             'tpm/src/command/Object/Object_spt.c:1071,16'
          Dst:             MarshalSensitive
        - Src:             'tpm/src/command/Object/Object_spt.c:1074,26'
          Dst:             ProduceOuterWrap
    - functionName:    FillInCreationData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 710
      functionLinenumberEnd: 765
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - int
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - parentHandle
        - nameHashAlg
        - creationPCR
        - outsideData
        - outCreation
        - creationDigest
      BBCount:         6
      ICount:          140
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate
        - CryptHashEnd2B
        - CryptHashStart
        - HandleGetType
        - HandleToObject
        - LocalityGetAttributes
        - PCRComputeCurrentDigest
        - TPMS_CREATION_DATA_Marshal
        - UINT32_Marshal
        - _plat__LocalityGet
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:730,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:732,19'
              BranchSideFuncs:
                - UINT32_Marshal
                - TPMS_CREATION_DATA_Marshal
                - CryptHashStart
                - CryptDigestUpdate
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:742,17'
              BranchSideFuncs:
                - HandleToObject
                - TPMS_CREATION_DATA_Marshal
                - CryptHashStart
                - CryptDigestUpdate
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:718,5'
          Dst:             PCRComputeCurrentDigest
        - Src:             'tpm/src/command/Object/Object_spt.c:725,64'
          Dst:             _plat__LocalityGet
        - Src:             'tpm/src/command/Object/Object_spt.c:725,42'
          Dst:             LocalityGetAttributes
        - Src:             'tpm/src/command/Object/Object_spt.c:730,8'
          Dst:             HandleGetType
        - Src:             'tpm/src/command/Object/Object_spt.c:734,13'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/command/Object/Object_spt.c:742,32'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Object/Object_spt.c:759,9'
          Dst:             TPMS_CREATION_DATA_Marshal
        - Src:             'tpm/src/command/Object/Object_spt.c:761,30'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/Object/Object_spt.c:762,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/command/Object/Object_spt.c:763,5'
          Dst:             CryptHashEnd2B
    - functionName:    SchemeChecks
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 605
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - parentObject
        - publicArea
      BBCount:         112
      ICount:          590
      EdgeCount:       151
      CyclomaticComplexity: 41
      functionsReached:
        - CryptGetCurveSignScheme
        - CryptHashGetDigestSize
        - CryptIsAsymDecryptScheme
        - CryptIsAsymSignScheme
        - CryptSymModeIsValid
        - MemoryEqual
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:439,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:442,24'
              BranchSideFuncs:
                - MemoryEqual
                - CryptSymModeIsValid
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:451,22'
              BranchSideFuncs:
                - MemoryEqual
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:486,23'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
                - CryptIsAsymDecryptScheme
                - CryptIsAsymSignScheme
        - Branch String:   'tpm/src/command/Object/Object_spt.c:447,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:447,40'
              BranchSideFuncs:
                - CryptSymModeIsValid
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:449,13'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:446,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:448,17'
              BranchSideFuncs:
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:449,13'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:453,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:458,20'
              BranchSideFuncs:
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:462,17'
              BranchSideFuncs:
                - MemoryEqual
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:458,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:459,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:460,13'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:462,61'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:462,64'
              BranchSideFuncs:
                - MemoryEqual
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:464,21'
              BranchSideFuncs:
                - MemoryEqual
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:462,17'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:463,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:464,21'
              BranchSideFuncs:
                - MemoryEqual
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:466,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:467,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:472,20'
              BranchSideFuncs:
                - MemoryEqual
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:472,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:474,24'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:483,13'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:474,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:476,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:479,28'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:478,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:481,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:482,17'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:491,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:495,20'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:498,21'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
                - CryptIsAsymDecryptScheme
                - CryptIsAsymSignScheme
        - Branch String:   'tpm/src/command/Object/Object_spt.c:495,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:496,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:497,13'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:498,21'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:501,42'
              BranchSideFuncs:
                - CryptIsAsymSignScheme
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:518,21'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
                - CryptIsAsymDecryptScheme
        - Branch String:   'tpm/src/command/Object/Object_spt.c:501,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:504,24'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:513,24'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:504,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:506,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:507,17'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:514,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:514,27'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:515,25'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:513,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:515,25'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:520,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:524,24'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:531,24'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
                - CryptIsAsymDecryptScheme
        - Branch String:   'tpm/src/command/Object/Object_spt.c:524,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:525,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:526,17'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:537,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:537,20'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:541,20'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:536,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:541,20'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:546,16'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:541,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:542,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:543,13'
              BranchSideFuncs:
                - MemoryEqual
                - CryptGetCurveSignScheme
                - TpmFail
        - Branch String:   'tpm/src/command/Object/Object_spt.c:546,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:551,31'
              BranchSideFuncs:
                - CryptGetCurveSignScheme
                - TpmFail
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:574,13'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:554,17'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:554,17'
              BranchSideFuncs:
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:558,20'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:558,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:560,44'
              BranchSideFuncs:
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:570,20'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:561,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:562,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:564,24'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:565,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:565,28'
              BranchSideFuncs:
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:568,17'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:564,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:567,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:568,17'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:570,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:571,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:572,13'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:579,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:579,27'
              BranchSideFuncs:
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:604,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:580,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:580,11'
              BranchSideFuncs:
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:604,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:579,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:582,12'
              BranchSideFuncs:
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:604,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:582,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:583,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:593,12'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:594,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:594,16'
              BranchSideFuncs:
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:603,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:593,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:596,16'
              BranchSideFuncs:
                - MemoryEqual
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:603,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:596,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:597,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:598,29'
              BranchSideFuncs:
                - MemoryEqual
        - Branch String:   'tpm/src/command/Object/Object_spt.c:598,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:601,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:602,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:447,20'
          Dst:             CryptSymModeIsValid
        - Src:             'tpm/src/command/Object/Object_spt.c:478,24'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:501,20'
          Dst:             CryptIsAsymSignScheme
        - Src:             'tpm/src/command/Object/Object_spt.c:532,28'
          Dst:             CryptIsAsymDecryptScheme
        - Src:             'tpm/src/command/Object/Object_spt.c:552,31'
          Dst:             CryptGetCurveSignScheme
        - Src:             'tpm/src/command/Object/Object_spt.c:554,17'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Object_spt.c:598,17'
          Dst:             MemoryEqual
    - functionName:    PublicAttributesValidation
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 697
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - parentObject
        - publicArea
      BBCount:         55
      ICount:          312
      EdgeCount:       76
      CyclomaticComplexity: 23
      functionsReached:
        - CryptHashGetDigestSize
        - SchemeChecks
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:634,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:635,28'
              BranchSideFuncs:
                - SchemeChecks
                - CryptHashGetDigestSize
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:636,8'
              BranchSideFuncs:
                - SchemeChecks
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:636,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:637,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:640,9'
              BranchSideFuncs:
                - SchemeChecks
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/command/Object/Object_spt.c:641,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:641,13'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:646,8'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:640,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:643,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:646,8'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:646,29'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:646,32'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:648,12'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:646,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:648,12'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:655,12'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:648,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:650,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:651,5'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:655,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:656,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:659,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:663,12'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:673,8'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:663,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:664,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:667,12'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:668,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:668,16'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:670,5'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:667,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:669,13'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:670,5'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:674,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:674,11'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:679,8'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:673,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:675,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:679,8'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:679,29'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:679,33'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:686,9'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:679,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:681,12'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:686,9'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:681,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:683,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:684,5'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:686,31'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:686,35'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:696,25'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:686,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:689,12'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:696,25'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:689,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:691,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:693,13'
              BranchSideFuncs:
                - SchemeChecks
        - Branch String:   'tpm/src/command/Object/Object_spt.c:693,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:694,13'
              BranchSideFuncs:
                - SchemeChecks
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:695,5'
              BranchSideFuncs:
                - SchemeChecks
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:642,16'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:696,12'
          Dst:             SchemeChecks
    - functionName:    CreateChecks
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 414
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - parentObject
        - publicArea
        - sensitiveDataSize
      BBCount:         46
      ICount:          207
      EdgeCount:       59
      CyclomaticComplexity: 15
      functionsReached:
        - PublicAttributesValidation
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:374,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:374,12'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:378,9'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:373,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:375,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:378,9'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:379,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:379,12'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:382,12'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:380,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:380,12'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:382,12'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:378,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:381,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:382,12'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:382,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:387,17'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:398,16'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:405,17'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:388,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:388,20'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:389,19'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:389,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:389,19'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:389,19'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:387,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:389,19'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:390,24'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:398,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:399,21'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:403,13'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:399,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:399,21'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:400,24'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:401,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:401,27'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:402,32'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:400,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:401,27'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:402,32'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:405,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:406,24'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:407,13'
              BranchSideFuncs:
                - PublicAttributesValidation
        - Branch String:   'tpm/src/command/Object/Object_spt.c:409,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:411,45'
              BranchSideFuncs:
                - PublicAttributesValidation
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:413,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:411,18'
          Dst:             PublicAttributesValidation
    - functionName:    ObjectIsParent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - parentObject
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MemoryRemoveTrailingZeros
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1497
      functionLinenumberEnd: 1500
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - auth
      BBCount:         7
      ICount:          53
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1498,30'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1498,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1498,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Object_spt.c:1498,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1499,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:1500,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    AdjustAuthSize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - auth
        - nameAlg
      BBCount:         13
      ICount:          83
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - CryptHashGetDigestSize
        - MemoryPad2B
        - MemoryRemoveTrailingZeros
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Object_spt.c:334,18'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:334,18'
              BranchSideFuncs:
                - MemoryRemoveTrailingZeros
                - MemoryPad2B
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:335,69'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - MemoryRemoveTrailingZeros
                - MemoryPad2B
        - Branch String:   'tpm/src/command/Object/Object_spt.c:336,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:337,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Object_spt.c:338,13'
              BranchSideFuncs:
                - MemoryPad2B
      Callsites:
        - Src:             'tpm/src/command/Object/Object_spt.c:335,46'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/Object_spt.c:336,21'
          Dst:             MemoryRemoveTrailingZeros
        - Src:             'tpm/src/command/Object/Object_spt.c:339,9'
          Dst:             MemoryPad2B
    - functionName:    CryptEccGenerateKey
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 723
      functionLinenumberEnd: 769
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - publicArea
        - sensitive
        - rand
      BBCount:         33
      ICount:          256
      EdgeCount:       41
      CyclomaticComplexity: 10
      functionsReached:
        - BnCurveFree
        - BnCurveInitialize
        - BnEccGenerateKeyPair
        - BnInit
        - BnInitializePoint
        - BnPointTo2B
        - BnSignEcdsa
        - BnTo2B
        - BnValidateSignatureEcdsa
        - CryptTestAlgorithm
        - DRBG_Generate
        - TestBit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:730,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:730,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - BnEccGenerateKeyPair
                - BnCurveFree
                - BnInit
                - BnInit
                - TestBit
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - CryptTestAlgorithm
                - BnPointTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:733,8'
              BranchSideFuncs:
                - BnEccGenerateKeyPair
                - BnCurveFree
                - BnInit
                - BnInit
                - TestBit
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - CryptTestAlgorithm
                - BnPointTo2B
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:733,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:734,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:736,5'
              BranchSideFuncs:
                - BnEccGenerateKeyPair
                - BnCurveFree
                - BnInit
                - BnInit
                - TestBit
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - CryptTestAlgorithm
                - BnPointTo2B
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:741,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:743,22'
              BranchSideFuncs:
                - BnPointTo2B
                - BnTo2B
                - BnCurveFree
                - BnInit
                - BnInit
                - TestBit
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:748,8'
              BranchSideFuncs:
                - BnCurveFree
                - BnInit
                - BnInit
                - TestBit
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:748,11'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:748,14'
              BranchSideFuncs:
                - BnCurveFree
                - BnInit
                - BnInit
                - TestBit
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:765,15'
              BranchSideFuncs:
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:748,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:750,9'
              BranchSideFuncs:
                - BnInit
                - BnInit
                - TestBit
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - BnCurveFree
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:765,15'
              BranchSideFuncs:
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:754,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:754,9'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:755,25'
              BranchSideFuncs:
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:755,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:755,25'
              BranchSideFuncs:
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:755,25'
              BranchSideFuncs:
                - DRBG_Generate
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:758,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:759,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:760,21'
              BranchSideFuncs:
                - BnSignEcdsa
                - BnValidateSignatureEcdsa
                - BnCurveFree
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:724,5'
          Dst:             BnCurveInitialize
        - Src:             'tpm/src/crypt/CryptEccMain.c:725,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:726,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccMain.c:730,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptEccMain.c:730,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptEccMain.c:740,39'
          Dst:             BnEccGenerateKeyPair
        - Src:             'tpm/src/crypt/CryptEccMain.c:743,9'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:744,9'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:750,9'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:751,9'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:754,9'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptEccMain.c:754,9'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptEccMain.c:757,9'
          Dst:             DRBG_Generate
        - Src:             'tpm/src/crypt/CryptEccMain.c:760,9'
          Dst:             BnSignEcdsa
        - Src:             'tpm/src/crypt/CryptEccMain.c:762,14'
          Dst:             BnValidateSignatureEcdsa
        - Src:             'tpm/src/crypt/CryptEccMain.c:767,5'
          Dst:             BnCurveFree
    - functionName:    BnEccGenerateKeyPair
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 585
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bnD
        - ecQ
        - E
        - rand
      BBCount:         9
      ICount:          75
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BnEccGetPrivate
        - BnEccModMult
        - BnSetWord
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:580,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:580,29'
              BranchSideFuncs:
                - BnEccModMult
                - BnSetWord
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:580,13'
              BranchSideFuncs:
                - BnSetWord
                - BnSetWord
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:581,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:582,19'
              BranchSideFuncs:
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:584,19'
              BranchSideFuncs:
                - BnSetWord
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:577,10'
          Dst:             BnEccGetPrivate
        - Src:             'tpm/src/crypt/CryptEccMain.c:580,16'
          Dst:             BnEccModMult
        - Src:             'tpm/src/crypt/CryptEccMain.c:582,9'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/CryptEccMain.c:584,9'
          Dst:             BnSetWord
    - functionName:    BnEccGetPrivate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 551
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dOut
        - C
        - rand
      BBCount:         15
      ICount:          138
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - BnAddWord
        - BnDiv
        - BnGetRandomBits
        - BnInit
        - BnSizeInBits
        - BnSubWord
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:560,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:560,26'
              BranchSideFuncs:
                - BnSubWord
                - BnAddWord
                - BnDiv
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:560,13'
              BranchSideFuncs:
                - BnAddWord
                - BnDiv
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:561,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:561,16'
              BranchSideFuncs:
                - BnDiv
                - BnAddWord
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:561,13'
              BranchSideFuncs:
                - BnAddWord
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:562,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:562,26'
              BranchSideFuncs:
                - BnAddWord
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:562,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:563,15'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:563,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:563,15'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:554,27'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/CryptEccMain.c:556,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:557,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:559,10'
          Dst:             BnGetRandomBits
        - Src:             'tpm/src/crypt/CryptEccMain.c:560,16'
          Dst:             BnSubWord
        - Src:             'tpm/src/crypt/CryptEccMain.c:561,16'
          Dst:             BnDiv
        - Src:             'tpm/src/crypt/CryptEccMain.c:562,16'
          Dst:             BnAddWord
    - functionName:    CryptEccIsPointOnCurve
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 687
      functionLinenumberEnd: 694
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - curveId
        - Qin
      BBCount:         10
      ICount:          77
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - BnInitializePoint
        - BnIsOnCurve
        - BnPointFrom2B
        - GetCurveData
        - TpmFail
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:692,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:692,5'
              BranchSideFuncs:
                - BnIsOnCurve
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:693,11'
              BranchSideFuncs:
                - BnIsOnCurve
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:693,21'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:693,37'
              BranchSideFuncs:
                - BnIsOnCurve
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:693,21'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:688,31'
          Dst:             GetCurveData
        - Src:             'tpm/src/crypt/CryptEccMain.c:689,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccMain.c:689,5'
          Dst:             BnPointFrom2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:692,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptEccMain.c:693,25'
          Dst:             BnIsOnCurve
    - functionName:    GetCurveData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - curveId
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccGetParametersByCurveId
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:122,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:122,30'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:122,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:121,30'
          Dst:             CryptEccGetParametersByCurveId
    - functionName:    BnIsOnCurve
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 455
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - Q
        - C
      BBCount:         6
      ICount:          95
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnAdd
        - BnDiv
        - BnInit
        - BnMult
        - BnUnsignedCmp
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:451,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:452,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:454,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:427,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:428,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:434,5'
          Dst:             BnMult
        - Src:             'tpm/src/crypt/CryptEccMain.c:436,5'
          Dst:             BnDiv
        - Src:             'tpm/src/crypt/CryptEccMain.c:438,5'
          Dst:             BnMult
        - Src:             'tpm/src/crypt/CryptEccMain.c:441,5'
          Dst:             BnAdd
        - Src:             'tpm/src/crypt/CryptEccMain.c:445,5'
          Dst:             BnMult
        - Src:             'tpm/src/crypt/CryptEccMain.c:448,5'
          Dst:             BnAdd
        - Src:             'tpm/src/crypt/CryptEccMain.c:450,5'
          Dst:             BnDiv
        - Src:             'tpm/src/crypt/CryptEccMain.c:451,8'
          Dst:             BnUnsignedCmp
    - functionName:    CryptEccGetParametersByCurveId
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - curveId
      BBCount:         8
      ICount:          49
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:95,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:97,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:100,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:97,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:98,31'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:99,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptEccPointMultiply
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 672
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - Rout
        - curveId
        - Pin
        - dIn
        - Qin
        - uIn
      BBCount:         6
      ICount:          150
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnCurveFree
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnPointFrom2B
        - BnPointMult
        - BnPointTo2B
        - ClearPoint2B
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:667,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:668,21'
              BranchSideFuncs:
                - BnPointTo2B
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:670,22'
              BranchSideFuncs:
                - ClearPoint2B
                - BnCurveFree
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:657,5'
          Dst:             BnCurveInitialize
        - Src:             'tpm/src/crypt/CryptEccMain.c:658,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccMain.c:658,5'
          Dst:             BnPointFrom2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:659,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:659,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:660,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:660,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:661,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccMain.c:661,5'
          Dst:             BnPointFrom2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:662,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccMain.c:665,14'
          Dst:             BnPointMult
        - Src:             'tpm/src/crypt/CryptEccMain.c:668,9'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:670,9'
          Dst:             ClearPoint2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:671,5'
          Dst:             BnCurveFree
    - functionName:    BnPointMult
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 496
      functionLinenumberEnd: 536
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - R
        - S
        - d
        - Q
        - u
        - E
      BBCount:         51
      ICount:          286
      EdgeCount:       67
      CyclomaticComplexity: 18
      functionsReached:
        - BnEccModMult
        - BnEccModMult2
        - BnIsOnCurve
        - CryptTestAlgorithm
        - TestBit
      functionUses:    10
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:499,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:499,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:502,11'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:502,21'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:502,21'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:502,24'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:506,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:506,19'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:506,13'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:510,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:510,18'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:510,13'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:512,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:512,17'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:512,13'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:513,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:514,9'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:516,11'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:516,22'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:516,22'
              BranchSideFuncs:
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:516,37'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
                - BnIsOnCurve
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:517,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:517,18'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:517,13'
              BranchSideFuncs:
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:518,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:519,9'
              BranchSideFuncs:
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:521,9'
              BranchSideFuncs:
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:521,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:521,24'
              BranchSideFuncs:
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:524,9'
              BranchSideFuncs:
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:521,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:522,13'
              BranchSideFuncs:
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:524,9'
              BranchSideFuncs:
                - BnEccModMult2
                - BnEccModMult
                - BnEccModMult
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:524,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:524,24'
              BranchSideFuncs:
                - BnEccModMult
                - BnEccModMult
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:526,12'
              BranchSideFuncs:
                - BnEccModMult
                - BnEccModMult
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:524,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:526,12'
              BranchSideFuncs:
                - BnEccModMult
                - BnEccModMult
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:533,28'
              BranchSideFuncs:
                - BnEccModMult2
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:526,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:527,31'
              BranchSideFuncs:
                - BnEccModMult
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:529,31'
              BranchSideFuncs:
                - BnEccModMult
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:499,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptEccMain.c:499,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptEccMain.c:516,25'
          Dst:             BnIsOnCurve
        - Src:             'tpm/src/crypt/CryptEccMain.c:517,32'
          Dst:             BnIsOnCurve
        - Src:             'tpm/src/crypt/CryptEccMain.c:527,18'
          Dst:             BnEccModMult
        - Src:             'tpm/src/crypt/CryptEccMain.c:529,18'
          Dst:             BnEccModMult
        - Src:             'tpm/src/crypt/CryptEccMain.c:533,14'
          Dst:             BnEccModMult2
    - functionName:    ClearPoint2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - p
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:75,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:75,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:77,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptEccNewKeyPair
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 618
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - Qout
        - dOut
        - curveId
      BBCount:         14
      ICount:          129
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - BnCurveFree
        - BnCurveInitialize
        - BnEccGenerateKeyPair
        - BnInit
        - BnInitializePoint
        - BnPointTo2B
        - BnTo2B
        - CryptTestAlgorithm
        - TestBit
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:602,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:603,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:605,5'
              BranchSideFuncs:
                - TestBit
                - BnEccGenerateKeyPair
                - BnCurveFree
                - BnPointTo2B
                - BnTo2B
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:605,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:605,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - BnEccGenerateKeyPair
                - BnCurveFree
                - BnPointTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:606,31'
              BranchSideFuncs:
                - BnEccGenerateKeyPair
                - BnCurveFree
                - BnPointTo2B
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:607,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:609,21'
              BranchSideFuncs:
                - BnPointTo2B
                - BnTo2B
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:614,43'
              BranchSideFuncs:
                - BnCurveFree
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:597,5'
          Dst:             BnCurveInitialize
        - Src:             'tpm/src/crypt/CryptEccMain.c:598,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccMain.c:599,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:605,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptEccMain.c:605,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptEccMain.c:606,10'
          Dst:             BnEccGenerateKeyPair
        - Src:             'tpm/src/crypt/CryptEccMain.c:609,9'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:610,9'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:616,5'
          Dst:             BnCurveFree
    - functionName:    CryptEccIsValidPrivateKey
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - d
        - curveId
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnFrom2B
        - BnGetCurveOrder
        - BnInit
        - BnUnsignedCmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:473,30'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:473,30'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:473,48'
              BranchSideFuncs:
                - BnGetCurveOrder
                - BnUnsignedCmp
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:472,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccMain.c:472,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:473,53'
          Dst:             BnGetCurveOrder
        - Src:             'tpm/src/crypt/CryptEccMain.c:473,34'
          Dst:             BnUnsignedCmp
    - functionName:    BnGetCurveOrder
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 418
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - curveId
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetCurveData
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:420,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:420,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:420,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:419,31'
          Dst:             GetCurveData
    - functionName:    BnIsValidPrivateEcc
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - x
        - E
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnUnsignedCmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:465,15'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:465,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:465,33'
              BranchSideFuncs:
                - BnUnsignedCmp
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:465,19'
          Dst:             BnUnsignedCmp
    - functionName:    BnGetCurvePrime
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 410
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - curveId
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetCurveData
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:412,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:412,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:412,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:411,31'
          Dst:             GetCurveData
    - functionName:    CryptEccGetParameters
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - curveId
        - parameters
      BBCount:         6
      ICount:          125
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnTo2B
        - CryptEccGetParametersByCurveId
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:386,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:386,8'
              BranchSideFuncs:
                - BnTo2B
                - BnTo2B
                - BnTo2B
                - BnTo2B
                - BnTo2B
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:388,31'
              BranchSideFuncs:
                - BnTo2B
                - BnTo2B
                - BnTo2B
                - BnTo2B
                - BnTo2B
                - BnTo2B
                - BnTo2B
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:382,35'
          Dst:             CryptEccGetParametersByCurveId
        - Src:             'tpm/src/crypt/CryptEccMain.c:394,9'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:395,9'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:396,9'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:397,9'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:398,9'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:401,9'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccMain.c:402,9'
          Dst:             BnTo2B
    - functionName:    CryptEndCommit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - c
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ClearBit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:369,5'
          Dst:             ClearBit
    - functionName:    CryptCommit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetBit
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:356,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:356,12'
              BranchSideFuncs:
                - SetBit
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:356,34'
              BranchSideFuncs:
                - SetBit
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:358,5'
          Dst:             SetBit
    - functionName:    CryptGenerateR
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 272
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - r
        - c
        - curveID
        - name
      BBCount:         27
      ICount:          210
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - CryptEccGetParameter
        - CryptKDFa
        - TestBit
        - Uint64ToByteArray
        - UnsignedCompareB
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:281,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:282,9'
              BranchSideFuncs:
                - Uint64ToByteArray
                - CryptKDFa
                - UnsignedCompareB
                - TestBit
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:285,8'
              BranchSideFuncs:
                - Uint64ToByteArray
                - CryptKDFa
                - UnsignedCompareB
                - TestBit
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:285,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:288,13'
              BranchSideFuncs:
                - TestBit
                - Uint64ToByteArray
                - CryptKDFa
                - UnsignedCompareB
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:314,12'
              BranchSideFuncs:
                - Uint64ToByteArray
                - CryptKDFa
                - UnsignedCompareB
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:288,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:289,13'
              BranchSideFuncs:
                - Uint64ToByteArray
                - CryptKDFa
                - UnsignedCompareB
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:297,22'
              BranchSideFuncs:
                - Uint64ToByteArray
                - CryptKDFa
                - UnsignedCompareB
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:302,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:304,28'
              BranchSideFuncs:
                - Uint64ToByteArray
                - CryptKDFa
                - UnsignedCompareB
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:306,22'
              BranchSideFuncs:
                - Uint64ToByteArray
                - CryptKDFa
                - UnsignedCompareB
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:307,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:308,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:311,25'
              BranchSideFuncs:
                - Uint64ToByteArray
                - CryptKDFa
                - UnsignedCompareB
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:323,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:328,19'
              BranchSideFuncs:
                - CryptKDFa
                - UnsignedCompareB
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:346,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:337,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:338,13'
              BranchSideFuncs:
                - CryptKDFa
                - UnsignedCompareB
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:342,21'
              BranchSideFuncs:
                - CryptKDFa
                - UnsignedCompareB
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:342,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:323,5'
              BranchSideFuncs:
                - CryptKDFa
                - UnsignedCompareB
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:343,16'
              BranchSideFuncs:
                - CryptKDFa
                - UnsignedCompareB
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:343,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:343,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:344,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:281,9'
          Dst:             CryptEccGetParameter
        - Src:             'tpm/src/crypt/CryptEccMain.c:288,13'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptEccMain.c:315,5'
          Dst:             Uint64ToByteArray
        - Src:             'tpm/src/crypt/CryptEccMain.c:326,9'
          Dst:             CryptKDFa
        - Src:             'tpm/src/crypt/CryptEccMain.c:337,12'
          Dst:             UnsignedCompareB
    - functionName:    CryptEccGetParameter
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - short
      constantsTouched: []
      argNames:
        - out
        - p
        - curveId
      BBCount:         18
      ICount:          119
      EdgeCount:       18
      CyclomaticComplexity: 2
      functionsReached:
        - BnTo2B
        - GetCurveData
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:158,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:160,16'
              BranchSideFuncs:
                - BnTo2B
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:190,13'
              BranchSideFuncs:
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:160,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:163,29'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:166,29'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:169,29'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:172,29'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:175,29'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:178,29'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:181,29'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:184,17'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:190,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:190,41'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:190,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:155,39'
          Dst:             GetCurveData
        - Src:             'tpm/src/crypt/CryptEccMain.c:184,17'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptEccMain.c:190,34'
          Dst:             BnTo2B
    - functionName:    CryptGetCurveSignScheme
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - curveId
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccGetParametersByCurveId
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:249,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:250,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:252,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:247,30'
          Dst:             CryptEccGetParametersByCurveId
    - functionName:    CryptCapGetECCCurve
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - curveID
        - maxCount
        - curveList
      BBCount:         16
      ICount:          109
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - CryptEccGetCurveByIndex
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:213,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:214,18'
              BranchSideFuncs:
                - CryptEccGetCurveByIndex
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:217,11'
              BranchSideFuncs:
                - CryptEccGetCurveByIndex
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:217,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:217,5'
              BranchSideFuncs:
                - CryptEccGetCurveByIndex
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:219,41'
              BranchSideFuncs:
                - CryptEccGetCurveByIndex
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:221,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:222,13'
              BranchSideFuncs:
                - CryptEccGetCurveByIndex
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:223,12'
              BranchSideFuncs:
                - CryptEccGetCurveByIndex
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:223,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:227,54'
              BranchSideFuncs:
                - CryptEccGetCurveByIndex
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:234,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:219,17'
          Dst:             CryptEccGetCurveByIndex
    - functionName:    CryptEccGetCurveByIndex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - i
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:138,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:139,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:140,22'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptEccGetOID
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - curveId
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccGetParametersByCurveId
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:129,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:129,30'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:129,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:128,30'
          Dst:             CryptEccGetParametersByCurveId
    - functionName:    CryptEccGetKeySizeForCurve
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - curveId
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccGetParametersByCurveId
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccMain.c:111,21'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:111,39'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccMain.c:111,21'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccMain.c:108,30'
          Dst:             CryptEccGetParametersByCurveId
    - functionName:    CryptEccStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 67
      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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EccSimulationEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SchnorrReduce
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - number
        - reference
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnSizeInBits
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:284,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:284,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:285,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:283,31'
          Dst:             BnSizeInBits
    - functionName:    BnSchnorrSign
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bnS
        - bnK
        - bnR
        - bnD
        - bnN
      BBCount:         6
      ICount:          73
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnAdd
        - BnDiv
        - BnInit
        - BnMult
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:94,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:95,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:98,12'
              BranchSideFuncs:
                - BnMult
                - BnAdd
                - BnDiv
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:90,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:93,5'
          Dst:             BnDiv
        - Src:             'tpm/src/crypt/CryptEccSignature.c:98,5'
          Dst:             BnMult
        - Src:             'tpm/src/crypt/CryptEccSignature.c:100,5'
          Dst:             BnAdd
        - Src:             'tpm/src/crypt/CryptEccSignature.c:102,5'
          Dst:             BnDiv
    - functionName:    CryptEccCommitCompute
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 848
      functionLinenumberEnd: 917
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - K
        - L
        - E
        - curveId
        - M
        - B
        - d
        - r
      BBCount:         65
      ICount:          408
      EdgeCount:       79
      CyclomaticComplexity: 16
      functionsReached:
        - BnCurveFree
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnIsOnCurve
        - BnIsValidPrivateEcc
        - BnPointFrom2B
        - BnPointMult
        - BnPointTo2B
        - ClearPoint2B
        - TpmFail
        - _plat__IsCanceled
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:857,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:857,5'
              BranchSideFuncs:
                - TpmFail
                - ClearPoint2B
                - ClearPoint2B
                - ClearPoint2B
                - TpmFail
                - BnCurveFree
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnInit
                - BnFrom2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - BnInitializePoint
                - TpmFail
                - BnIsOnCurve
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnPointMult
                - BnPointTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:857,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:857,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:857,5'
              BranchSideFuncs:
                - ClearPoint2B
                - ClearPoint2B
                - ClearPoint2B
                - TpmFail
                - BnCurveFree
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnInit
                - BnFrom2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - BnInitializePoint
                - TpmFail
                - BnIsOnCurve
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnPointMult
                - BnPointTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:860,18'
              BranchSideFuncs:
                - ClearPoint2B
                - ClearPoint2B
                - ClearPoint2B
                - TpmFail
                - BnCurveFree
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnInit
                - BnFrom2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - BnInitializePoint
                - TpmFail
                - BnIsOnCurve
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnPointMult
                - BnPointTo2B
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:865,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:865,5'
              BranchSideFuncs:
                - BnCurveFree
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnInit
                - BnFrom2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - BnInitializePoint
                - TpmFail
                - BnIsOnCurve
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnPointMult
                - BnPointTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:868,8'
              BranchSideFuncs:
                - BnCurveFree
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnInit
                - BnFrom2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - BnInitializePoint
                - TpmFail
                - BnIsOnCurve
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnPointMult
                - BnPointTo2B
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:868,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:870,9'
              BranchSideFuncs:
                - BnInit
                - BnFrom2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - BnInitializePoint
                - TpmFail
                - BnIsOnCurve
                - BnCurveFree
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnPointMult
                - BnPointTo2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:895,9'
              BranchSideFuncs:
                - BnCurveFree
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:875,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:875,9'
              BranchSideFuncs:
                - TpmFail
                - BnIsOnCurve
                - BnCurveFree
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnPointMult
                - BnPointTo2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:875,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:875,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:875,9'
              BranchSideFuncs:
                - TpmFail
                - BnIsOnCurve
                - BnCurveFree
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnPointMult
                - BnPointTo2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:875,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:875,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:875,9'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnCurveFree
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnPointMult
                - BnPointTo2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:877,25'
              BranchSideFuncs:
                - BnIsOnCurve
                - BnCurveFree
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnPointMult
                - BnPointTo2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:877,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:878,13'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnCurveFree
                - BnPointMult
                - BnPointTo2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:880,34'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnCurveFree
                - BnPointMult
                - BnPointTo2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:880,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:881,13'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:883,21'
              BranchSideFuncs:
                - BnPointTo2B
                - _plat__IsCanceled
                - BnIsValidPrivateEcc
                - BnCurveFree
                - BnPointMult
                - BnPointTo2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:885,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:886,13'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:888,33'
              BranchSideFuncs:
                - BnIsValidPrivateEcc
                - BnCurveFree
                - BnPointMult
                - BnPointTo2B
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:888,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:889,13'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:890,34'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:890,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:891,13'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:893,21'
              BranchSideFuncs:
                - BnPointTo2B
                - BnCurveFree
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:895,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:895,24'
              BranchSideFuncs:
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
                - _plat__IsCanceled
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:897,9'
              BranchSideFuncs:
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:895,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:895,33'
              BranchSideFuncs:
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
                - _plat__IsCanceled
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:897,9'
              BranchSideFuncs:
                - BnInitializePoint
                - BnPointFrom2B
                - BnInitializePoint
                - TpmFail
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:901,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:901,9'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
                - _plat__IsCanceled
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:904,13'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:904,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:904,27'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:910,34'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:904,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:905,13'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:910,34'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:910,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:911,13'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:913,21'
              BranchSideFuncs:
                - BnPointTo2B
                - BnCurveFree
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:849,5'
          Dst:             BnCurveInitialize
        - Src:             'tpm/src/crypt/CryptEccSignature.c:851,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:851,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:857,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptEccSignature.c:860,5'
          Dst:             ClearPoint2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:861,5'
          Dst:             ClearPoint2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:862,5'
          Dst:             ClearPoint2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:865,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptEccSignature.c:870,9'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:870,9'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:871,9'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccSignature.c:871,9'
          Dst:             BnPointFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:872,9'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccSignature.c:873,9'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccSignature.c:875,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptEccSignature.c:877,13'
          Dst:             BnIsOnCurve
        - Src:             'tpm/src/crypt/CryptEccSignature.c:880,22'
          Dst:             BnPointMult
        - Src:             'tpm/src/crypt/CryptEccSignature.c:883,9'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:885,12'
          Dst:             _plat__IsCanceled
        - Src:             'tpm/src/crypt/CryptEccSignature.c:888,13'
          Dst:             BnIsValidPrivateEcc
        - Src:             'tpm/src/crypt/CryptEccSignature.c:890,22'
          Dst:             BnPointMult
        - Src:             'tpm/src/crypt/CryptEccSignature.c:893,9'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:897,9'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccSignature.c:897,9'
          Dst:             BnPointFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:898,9'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccSignature.c:901,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptEccSignature.c:904,27'
          Dst:             _plat__IsCanceled
        - Src:             'tpm/src/crypt/CryptEccSignature.c:910,22'
          Dst:             BnPointMult
        - Src:             'tpm/src/crypt/CryptEccSignature.c:913,9'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:916,5'
          Dst:             BnCurveFree
    - functionName:    BnValidateSignatureEcSchnorr
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 743
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bnR
        - bnS
        - hashAlg
        - E
        - ecQ
        - digest
      BBCount:         9
      ICount:          186
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BnDiv
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnPointMult
        - BnSizeInBits
        - BnSub
        - BnTo2B
        - BnUnsignedCmp
        - CryptDigestUpdate
        - CryptHashEnd
        - CryptHashGetDigestSize
        - CryptHashStart
        - SchnorrReduce
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:730,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:730,23'
              BranchSideFuncs:
                - BnSizeInBits
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
                - SchnorrReduce
                - BnFrom2B
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:730,13'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
                - SchnorrReduce
                - BnFrom2B
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:731,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:731,8'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
                - SchnorrReduce
                - BnFrom2B
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:734,36'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
                - SchnorrReduce
                - BnFrom2B
                - BnUnsignedCmp
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:710,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:711,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccSignature.c:712,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:715,40'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptEccSignature.c:722,5'
          Dst:             BnDiv
        - Src:             'tpm/src/crypt/CryptEccSignature.c:724,5'
          Dst:             BnSub
        - Src:             'tpm/src/crypt/CryptEccSignature.c:726,10'
          Dst:             BnPointMult
        - Src:             'tpm/src/crypt/CryptEccSignature.c:730,50'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/CryptEccSignature.c:730,16'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:734,9'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptEccSignature.c:735,9'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptEccSignature.c:736,9'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptEccSignature.c:737,22'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/crypt/CryptEccSignature.c:738,9'
          Dst:             SchnorrReduce
        - Src:             'tpm/src/crypt/CryptEccSignature.c:739,9'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:741,14'
          Dst:             BnUnsignedCmp
    - functionName:    CryptEccValidateSignature
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 757
      functionLinenumberEnd: 819
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signature
        - signKey
        - digest
      BBCount:         36
      ICount:          233
      EdgeCount:       38
      CyclomaticComplexity: 4
      functionsReached:
        - BnCurveFree
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnPointFrom2B
        - BnUnsignedCmp
        - BnValidateSignatureEcSchnorr
        - BnValidateSignatureEcdsa
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:765,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:766,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:768,13'
              BranchSideFuncs:
                - BnFrom2B
                - BnFrom2B
                - BnUnsignedCmp
                - BnUnsignedCmp
                - BnValidateSignatureEcSchnorr
                - BnCurveFree
                - BnValidateSignatureEcdsa
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:771,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:780,13'
              BranchSideFuncs:
                - BnFrom2B
                - BnFrom2B
                - BnUnsignedCmp
                - BnUnsignedCmp
                - BnValidateSignatureEcSchnorr
                - BnCurveFree
                - BnValidateSignatureEcdsa
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:780,13'
              BranchSideFuncs:
                - BnFrom2B
                - BnFrom2B
                - BnUnsignedCmp
                - BnUnsignedCmp
                - BnValidateSignatureEcSchnorr
                - BnCurveFree
                - BnValidateSignatureEcdsa
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:782,13'
              BranchSideFuncs:
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:792,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:792,28'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:793,9'
              BranchSideFuncs:
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:792,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:793,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:794,23'
              BranchSideFuncs:
                - BnUnsignedCmp
                - BnUnsignedCmp
                - BnValidateSignatureEcSchnorr
                - BnCurveFree
                - BnValidateSignatureEcdsa
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:794,41'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:794,59'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:795,9'
              BranchSideFuncs:
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:794,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:795,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:797,12'
              BranchSideFuncs:
                - BnValidateSignatureEcSchnorr
                - BnCurveFree
                - BnValidateSignatureEcdsa
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:797,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:800,47'
              BranchSideFuncs:
                - BnValidateSignatureEcdsa
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:806,17'
              BranchSideFuncs:
                - BnValidateSignatureEcSchnorr
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:815,13'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:758,5'
          Dst:             BnCurveInitialize
        - Src:             'tpm/src/crypt/CryptEccSignature.c:759,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:760,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:761,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccSignature.c:761,5'
          Dst:             BnPointFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:788,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:789,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:794,9'
          Dst:             BnUnsignedCmp
        - Src:             'tpm/src/crypt/CryptEccSignature.c:794,45'
          Dst:             BnUnsignedCmp
        - Src:             'tpm/src/crypt/CryptEccSignature.c:800,22'
          Dst:             BnValidateSignatureEcdsa
        - Src:             'tpm/src/crypt/CryptEccSignature.c:805,22'
          Dst:             BnValidateSignatureEcSchnorr
        - Src:             'tpm/src/crypt/CryptEccSignature.c:815,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptEccSignature.c:818,5'
          Dst:             BnCurveFree
    - functionName:    BnValidateSignatureEcdsa
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 621
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bnR
        - bnS
        - E
        - ecQ
        - digest
      BBCount:         10
      ICount:          151
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - BnDiv
        - BnInit
        - BnInitializePoint
        - BnModInverse
        - BnModMult
        - BnPointMult
        - BnUnsignedCmp
        - EcdsaDigest
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:602,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:603,9'
              BranchSideFuncs:
                - BnModMult
                - BnModMult
                - BnPointMult
                - BnDiv
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:605,15'
              BranchSideFuncs:
                - BnModMult
                - BnModMult
                - BnPointMult
                - BnDiv
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:610,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:612,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:614,5'
              BranchSideFuncs:
                - BnDiv
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:616,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:617,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:619,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:584,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:585,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccSignature.c:586,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:587,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:588,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:593,5'
          Dst:             EcdsaDigest
        - Src:             'tpm/src/crypt/CryptEccSignature.c:602,9'
          Dst:             BnModInverse
        - Src:             'tpm/src/crypt/CryptEccSignature.c:605,5'
          Dst:             BnModMult
        - Src:             'tpm/src/crypt/CryptEccSignature.c:606,5'
          Dst:             BnModMult
        - Src:             'tpm/src/crypt/CryptEccSignature.c:610,8'
          Dst:             BnPointMult
        - Src:             'tpm/src/crypt/CryptEccSignature.c:614,5'
          Dst:             BnDiv
        - Src:             'tpm/src/crypt/CryptEccSignature.c:616,8'
          Dst:             BnUnsignedCmp
    - functionName:    EcdsaDigest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bnD
        - digest
        - max
      BBCount:         12
      ICount:          91
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - BnFromBytes
        - BnSetWord
        - BnShiftRight
        - BnSizeInBits
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:55,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:56,19'
              BranchSideFuncs:
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:59,21'
              BranchSideFuncs:
                - BnFromBytes
                - BnSizeInBits
                - BnShiftRight
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:61,31'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:61,21'
              BranchSideFuncs:
                - BnFromBytes
                - BnSizeInBits
                - BnShiftRight
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:61,21'
              BranchSideFuncs:
                - BnFromBytes
                - BnSizeInBits
                - BnShiftRight
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:52,21'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/CryptEccSignature.c:56,9'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/CryptEccSignature.c:59,9'
          Dst:             BnFromBytes
        - Src:             'tpm/src/crypt/CryptEccSignature.c:62,17'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/CryptEccSignature.c:64,13'
          Dst:             BnShiftRight
    - functionName:    BnSignEcSchnorr
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - bnR
        - bnS
        - E
        - bnD
        - digest
        - hashAlg
        - rand
      BBCount:         21
      ICount:          194
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - BnEccGenerateKeyPair
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnSchnorrSign
        - BnSetWord
        - BnSizeInBits
        - BnTo2B
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashGetDigestSize
        - CryptHashStart
        - SchnorrReduce
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:324,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:325,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:326,13'
              BranchSideFuncs:
                - BnEccGenerateKeyPair
                - BnSizeInBits
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - SchnorrReduce
                - BnFrom2B
                - BnSchnorrSign
                - BnSetWord
                - BnSetWord
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:332,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:334,19'
              BranchSideFuncs:
                - BnSetWord
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:338,5'
              BranchSideFuncs:
                - BnEccGenerateKeyPair
                - BnSizeInBits
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - SchnorrReduce
                - BnFrom2B
                - BnSchnorrSign
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:341,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:342,13'
              BranchSideFuncs:
                - BnSizeInBits
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - SchnorrReduce
                - BnFrom2B
                - BnSchnorrSign
                - BnEccGenerateKeyPair
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:344,16'
              BranchSideFuncs:
                - BnSizeInBits
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - SchnorrReduce
                - BnFrom2B
                - BnSchnorrSign
                - BnEccGenerateKeyPair
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:357,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:341,34'
              BranchSideFuncs:
                - BnEccGenerateKeyPair
                - BnSizeInBits
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - SchnorrReduce
                - BnFrom2B
                - BnSchnorrSign
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:357,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:312,29'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptEccSignature.c:320,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:321,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccSignature.c:334,9'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/CryptEccSignature.c:335,9'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/CryptEccSignature.c:341,13'
          Dst:             BnEccGenerateKeyPair
        - Src:             'tpm/src/crypt/CryptEccSignature.c:344,37'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/CryptEccSignature.c:344,9'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:347,9'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptEccSignature.c:348,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:349,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:350,19'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/crypt/CryptEccSignature.c:352,9'
          Dst:             SchnorrReduce
        - Src:             'tpm/src/crypt/CryptEccSignature.c:354,9'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:356,18'
          Dst:             BnSchnorrSign
    - functionName:    BnSignEcdaa
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 268
      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:
        - nonceK
        - bnS
        - E
        - bnD
        - digest
        - scheme
        - eccKey
        - rand
      BBCount:         19
      ICount:          166
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - BnEccGetPrivate
        - BnFrom2B
        - BnInit
        - BnSchnorrSign
        - BnTo2B
        - CryptDigestUpdate2B
        - CryptEndCommit
        - CryptGenerateR
        - CryptHashEnd2B
        - CryptHashStart
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:223,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:227,16'
              BranchSideFuncs:
                - BnInit
                - BnFrom2B
                - BnEccGetPrivate
                - CryptEndCommit
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - BnFrom2B
                - BnSchnorrSign
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:232,9'
              BranchSideFuncs:
                - BnInit
                - BnFrom2B
                - BnEccGetPrivate
                - CryptEndCommit
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - BnFrom2B
                - BnSchnorrSign
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:237,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:239,24'
              BranchSideFuncs:
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - BnFrom2B
                - BnSchnorrSign
                - CryptEndCommit
                - BnEccGetPrivate
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:242,20'
              BranchSideFuncs:
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - BnFrom2B
                - BnSchnorrSign
                - CryptEndCommit
                - BnEccGetPrivate
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:245,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:247,24'
              BranchSideFuncs:
                - CryptEndCommit
                - BnEccGetPrivate
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - BnFrom2B
                - BnSchnorrSign
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:251,46'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - BnFrom2B
                - BnSchnorrSign
                - CryptEndCommit
                - BnEccGetPrivate
                - BnTo2B
                - CryptHashStart
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:258,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:237,33'
              BranchSideFuncs:
                - BnEccGetPrivate
                - CryptEndCommit
                - BnTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - BnFrom2B
                - BnSchnorrSign
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:265,12'
              BranchSideFuncs:
                - CryptEndCommit
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:220,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:223,9'
          Dst:             CryptGenerateR
        - Src:             'tpm/src/crypt/CryptEccSignature.c:232,9'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:232,9'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:237,17'
          Dst:             BnEccGetPrivate
        - Src:             'tpm/src/crypt/CryptEccSignature.c:242,13'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:244,24'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptEccSignature.c:251,17'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:252,17'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:253,17'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:254,17'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:256,26'
          Dst:             BnSchnorrSign
        - Src:             'tpm/src/crypt/CryptEccSignature.c:266,13'
          Dst:             CryptEndCommit
    - functionName:    CryptEccSign
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 501
      functionLinenumberEnd: 561
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signature
        - signKey
        - digest
        - scheme
        - rand
      BBCount:         28
      ICount:          230
      EdgeCount:       32
      CyclomaticComplexity: 6
      functionsReached:
        - BnCurveFree
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnSignEcSchnorr
        - BnSignEcdaa
        - BnSignEcdsa
        - BnSizeInBits
        - BnTo2B
        - CryptTestAlgorithm
        - TestBit
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:510,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:511,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:512,9'
              BranchSideFuncs:
                - TestBit
                - BnSignEcSchnorr
                - BnCurveFree
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
                - BnSignEcdaa
                - BnSignEcdsa
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:517,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:517,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - BnSignEcSchnorr
                - BnCurveFree
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
                - BnSignEcdaa
                - BnSignEcdsa
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:518,12'
              BranchSideFuncs:
                - BnSignEcSchnorr
                - BnCurveFree
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
                - BnSignEcdaa
                - BnSignEcdsa
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:518,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:521,34'
              BranchSideFuncs:
                - BnSignEcdsa
                - BnCurveFree
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:525,35'
              BranchSideFuncs:
                - BnSignEcdaa
                - BnCurveFree
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:539,17'
              BranchSideFuncs:
                - BnSignEcSchnorr
                - BnCurveFree
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:548,13'
              BranchSideFuncs:
                - BnCurveFree
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:551,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:551,18'
              BranchSideFuncs:
                - BnSizeInBits
                - BnCurveFree
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:553,41'
              BranchSideFuncs:
                - BnSizeInBits
                - BnCurveFree
                - BnTo2B
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:554,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:555,20'
              BranchSideFuncs:
                - BnTo2B
                - BnCurveFree
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:556,12'
              BranchSideFuncs:
                - BnCurveFree
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:556,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:557,20'
              BranchSideFuncs:
                - BnTo2B
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:558,5'
              BranchSideFuncs:
                - BnCurveFree
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:502,5'
          Dst:             BnCurveInitialize
        - Src:             'tpm/src/crypt/CryptEccSignature.c:503,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:503,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:504,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:505,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:517,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:517,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptEccSignature.c:521,22'
          Dst:             BnSignEcdsa
        - Src:             'tpm/src/crypt/CryptEccSignature.c:525,22'
          Dst:             BnSignEcdaa
        - Src:             'tpm/src/crypt/CryptEccSignature.c:538,22'
          Dst:             BnSignEcSchnorr
        - Src:             'tpm/src/crypt/CryptEccSignature.c:553,41'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/CryptEccSignature.c:555,13'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:557,13'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptEccSignature.c:560,5'
          Dst:             BnCurveFree
    - functionName:    BnSignEcdsa
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bnR
        - bnS
        - E
        - bnD
        - digest
        - rand
      BBCount:         25
      ICount:          205
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - BnAdd
        - BnCopy
        - BnDiv
        - BnEccGenerateKeyPair
        - BnInit
        - BnInitializePoint
        - BnModInverse
        - BnModMult
        - EcdsaDigest
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:130,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:130,5'
              BranchSideFuncs:
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
                - BnDiv
                - BnCopy
                - BnModInverse
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:146,5'
              BranchSideFuncs:
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
                - BnDiv
                - BnCopy
                - BnModInverse
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:148,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:152,38'
              BranchSideFuncs:
                - BnEccGenerateKeyPair
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnDiv
                - BnCopy
                - BnModInverse
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:166,13'
              BranchSideFuncs:
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
                - BnDiv
                - BnCopy
                - BnModInverse
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:152,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:153,17'
              BranchSideFuncs:
                - BnDiv
                - BnCopy
                - BnModInverse
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:155,13'
              BranchSideFuncs:
                - BnDiv
                - BnCopy
                - BnModInverse
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:157,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:158,17'
              BranchSideFuncs:
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
                - BnDiv
                - BnCopy
                - BnModInverse
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:160,20'
              BranchSideFuncs:
                - BnCopy
                - BnModInverse
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
                - BnDiv
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:163,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:164,17'
              BranchSideFuncs:
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
                - BnDiv
                - BnCopy
                - BnModInverse
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:165,9'
              BranchSideFuncs:
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
                - BnDiv
                - BnCopy
                - BnModInverse
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:166,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:167,13'
              BranchSideFuncs:
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
                - BnDiv
                - BnCopy
                - BnModInverse
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:169,21'
              BranchSideFuncs:
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
                - BnDiv
                - BnCopy
                - BnModInverse
        - Branch String:   'tpm/src/crypt/CryptEccSignature.c:182,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:148,9'
              BranchSideFuncs:
                - EcdsaDigest
                - BnModMult
                - BnAdd
                - BnModMult
                - BnEccGenerateKeyPair
                - BnDiv
                - BnCopy
                - BnModInverse
            - BranchSide:      'tpm/src/crypt/CryptEccSignature.c:182,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccSignature.c:121,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:122,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:123,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccSignature.c:124,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccSignature.c:130,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptEccSignature.c:152,17'
          Dst:             BnEccGenerateKeyPair
        - Src:             'tpm/src/crypt/CryptEccSignature.c:155,13'
          Dst:             BnDiv
        - Src:             'tpm/src/crypt/CryptEccSignature.c:160,13'
          Dst:             BnCopy
        - Src:             'tpm/src/crypt/CryptEccSignature.c:162,19'
          Dst:             BnModInverse
        - Src:             'tpm/src/crypt/CryptEccSignature.c:169,9'
          Dst:             EcdsaDigest
        - Src:             'tpm/src/crypt/CryptEccSignature.c:175,9'
          Dst:             BnModMult
        - Src:             'tpm/src/crypt/CryptEccSignature.c:177,9'
          Dst:             BnAdd
        - Src:             'tpm/src/crypt/CryptEccSignature.c:179,9'
          Dst:             BnModMult
    - functionName:    CryptKDFe
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 786
      functionLinenumberEnd: 857
      functionDepth:   0
      returnType:      short
      argCount:        7
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashAlg
        - Z
        - label
        - partyUInfo
        - partyVInfo
        - sizeInBits
        - keyStream
      BBCount:         48
      ICount:          285
      EdgeCount:       62
      CyclomaticComplexity: 16
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptGetHashDef
        - CryptHashEnd
        - CryptHashStart
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:795,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:795,5'
              BranchSideFuncs:
                - TpmFail
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:795,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptHash.c:795,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:795,5'
              BranchSideFuncs:
                - TpmFail
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:795,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptHash.c:795,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:795,5'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:797,13'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/crypt/CryptHash.c:799,32'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:799,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:800,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptHash.c:799,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:800,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:815,5'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/crypt/CryptHash.c:815,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:817,12'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:853,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptHash.c:817,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:818,20'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:819,16'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/crypt/CryptHash.c:826,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:827,45'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:829,12'
              BranchSideFuncs:
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/crypt/CryptHash.c:829,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:830,45'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:836,13'
              BranchSideFuncs:
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:836,28'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:836,32'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:838,13'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/crypt/CryptHash.c:837,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:837,16'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:838,13'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/crypt/CryptHash.c:836,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:838,13'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:840,12'
              BranchSideFuncs:
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/crypt/CryptHash.c:840,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:841,45'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:844,12'
              BranchSideFuncs:
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/crypt/CryptHash.c:844,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:845,45'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/crypt/CryptHash.c:849,34'
              BranchSideFuncs:
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/crypt/CryptHash.c:853,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:854,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:856,22'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:788,26'
          Dst:             CryptGetHashDef
        - Src:             'tpm/src/crypt/CryptHash.c:795,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptHash.c:821,9'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptHash.c:823,9'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/CryptHash.c:827,13'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptHash.c:830,13'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptHash.c:838,13'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/CryptHash.c:841,13'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptHash.c:845,13'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptHash.c:849,9'
          Dst:             CryptHashEnd
    - functionName:    CryptGetHashDef
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - hashAlg
      BBCount:         6
      ICount:          34
      EdgeCount:       10
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    14
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:93,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:95,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:95,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:95,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:97,13'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptHashStart
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - hashState
        - hashAlg
      BBCount:         11
      ICount:          81
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - CryptGetHashDef
        - CryptTestAlgorithm
        - TestBit
      functionUses:    56
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:341,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:341,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - CryptGetHashDef
            - BranchSide:      'tpm/src/crypt/CryptHash.c:343,26'
              BranchSideFuncs:
                - CryptGetHashDef
        - Branch String:   'tpm/src/crypt/CryptHash.c:344,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:346,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:350,42'
              BranchSideFuncs:
                - CryptGetHashDef
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:341,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptHash.c:341,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptHash.c:350,26'
          Dst:             CryptGetHashDef
    - functionName:    CryptDigestUpdateInt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 463
      functionLinenumberEnd: 468
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - state
        - intSize
        - intValue
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate
      functionUses:    47
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:467,5'
          Dst:             CryptDigestUpdate
    - functionName:    CryptDigestUpdate2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - bIn
      BBCount:         7
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate
        - TpmFail
      functionUses:    103
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:434,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:434,5'
              BranchSideFuncs:
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/crypt/CryptHash.c:434,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:434,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptHash.c:435,5'
          Dst:             CryptDigestUpdate
    - functionName:    CryptHashEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 395
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashState
        - dOutSize
        - dOut
      BBCount:         7
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - HashEnd
        - TpmFail
      functionUses:    16
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:396,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:396,5'
              BranchSideFuncs:
                - HashEnd
            - BranchSide:      'tpm/src/crypt/CryptHash.c:396,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:396,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptHash.c:397,12'
          Dst:             HashEnd
    - functionName:    HashEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashState
        - dOutSize
        - dOut
      BBCount:         15
      ICount:          114
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - CryptGetHashDef
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:301,45'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:301,49'
              BranchSideFuncs:
                - CryptGetHashDef
            - BranchSide:      'tpm/src/crypt/CryptHash.c:302,18'
              BranchSideFuncs:
                - CryptGetHashDef
        - Branch String:   'tpm/src/crypt/CryptHash.c:301,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:302,18'
              BranchSideFuncs:
                - CryptGetHashDef
            - BranchSide:      'tpm/src/crypt/CryptHash.c:303,8'
              BranchSideFuncs:
                - CryptGetHashDef
        - Branch String:   'tpm/src/crypt/CryptHash.c:303,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:303,8'
              BranchSideFuncs:
                - CryptGetHashDef
            - BranchSide:      'tpm/src/crypt/CryptHash.c:305,42'
              BranchSideFuncs:
                - CryptGetHashDef
        - Branch String:   'tpm/src/crypt/CryptHash.c:307,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:307,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:307,18'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:305,26'
          Dst:             CryptGetHashDef
    - functionName:    CryptDigestUpdate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 366
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashState
        - dataSize
        - data
      BBCount:         15
      ICount:          99
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    32
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:367,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:367,8'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptHash.c:369,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptHash.c:370,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:370,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:371,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptHash.c:369,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:371,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:373,17'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptHash.c:373,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:374,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:378,13'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:378,13'
          Dst:             TpmFail
    - 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:    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:    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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 694
      functionLinenumberEnd: 763
      functionDepth:   0
      returnType:      short
      argCount:        9
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - hashAlg
        - key
        - label
        - contextU
        - contextV
        - sizeInBits
        - keyStream
        - counterInOut
        - blocks
      BBCount:         54
      ICount:          358
      EdgeCount:       68
      CyclomaticComplexity: 16
      functionsReached:
        - CryptDigestUpdateInt
        - CryptHashGetDigestSize
        - CryptHmacEnd
        - CryptHmacStart
        - CryptTestAlgorithm
        - TestBit
        - TpmFail
      functionUses:    12
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:702,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:702,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - TpmFail
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptHash.c:702,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptHash.c:702,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:702,5'
              BranchSideFuncs:
                - TestBit
                - TpmFail
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptHash.c:704,5'
              BranchSideFuncs:
                - TestBit
                - TpmFail
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptHash.c:704,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:704,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - TpmFail
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:706,8'
              BranchSideFuncs:
                - TpmFail
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:706,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:707,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:709,8'
              BranchSideFuncs:
                - TpmFail
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:709,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:710,20'
              BranchSideFuncs:
                - TpmFail
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:714,5'
              BranchSideFuncs:
                - TpmFail
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:714,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:714,5'
              BranchSideFuncs:
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:720,14'
              BranchSideFuncs:
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:720,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:720,28'
              BranchSideFuncs:
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:720,58'
              BranchSideFuncs:
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:724,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:726,16'
              BranchSideFuncs:
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:760,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptHash.c:728,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:729,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:731,38'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:734,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:735,13'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:741,13'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:741,28'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:741,32'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:743,42'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:742,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:742,16'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:743,42'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:741,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:743,42'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:745,12'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:745,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:746,13'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:748,12'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:748,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:749,13'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:751,38'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHmacEnd
                - CryptHmacStart
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/CryptHash.c:760,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:761,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:762,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:700,29'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptHash.c:702,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptHash.c:704,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptHash.c:704,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptHash.c:714,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptHash.c:728,12'
          Dst:             CryptHmacStart
        - Src:             'tpm/src/crypt/CryptHash.c:731,9'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/CryptHash.c:743,13'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/CryptHash.c:751,9'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/CryptHash.c:754,9'
          Dst:             CryptHmacEnd
    - functionName:    CryptHashGetDigestSize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - hashAlg
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptGetHashDef
      functionUses:    75
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:150,12'
          Dst:             CryptGetHashDef
    - functionName:    CryptHmacStart
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - hashAlg
        - keySize
        - key
      BBCount:         21
      ICount:          218
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - CryptDigestUpdate
        - CryptGetHashDef
        - CryptHashBlock
        - CryptHashStart
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:493,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:493,8'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptHashBlock
            - BranchSide:      'tpm/src/crypt/CryptHash.c:497,12'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptHashBlock
        - Branch String:   'tpm/src/crypt/CryptHash.c:497,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:501,17'
              BranchSideFuncs:
                - CryptHashBlock
                - CryptHashStart
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/crypt/CryptHash.c:505,20'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
        - Branch String:   'tpm/src/crypt/CryptHash.c:510,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:511,16'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/crypt/CryptHash.c:514,17'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
        - Branch String:   'tpm/src/crypt/CryptHash.c:514,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:515,16'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/crypt/CryptHash.c:518,33'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
        - Branch String:   'tpm/src/crypt/CryptHash.c:526,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:527,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:528,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:492,15'
          Dst:             CryptGetHashDef
        - Src:             'tpm/src/crypt/CryptHash.c:500,37'
          Dst:             CryptHashBlock
        - Src:             'tpm/src/crypt/CryptHash.c:522,9'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptHash.c:523,9'
          Dst:             CryptDigestUpdate
    - functionName:    CryptHmacEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 548
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - dOutSize
        - dOut
      BBCount:         13
      ICount:          136
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - CryptDigestUpdate
        - CryptGetHashDef
        - CryptHashStart
        - HashEnd
        - TpmFail
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:553,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:554,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:557,5'
              BranchSideFuncs:
                - TpmFail
                - CryptGetHashDef
                - HashEnd
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - HashEnd
        - Branch String:   'tpm/src/crypt/CryptHash.c:557,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:557,5'
              BranchSideFuncs:
                - CryptGetHashDef
                - HashEnd
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - HashEnd
            - BranchSide:      'tpm/src/crypt/CryptHash.c:558,35'
              BranchSideFuncs:
                - CryptGetHashDef
                - HashEnd
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - HashEnd
        - Branch String:   'tpm/src/crypt/CryptHash.c:561,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:562,18'
              BranchSideFuncs:
                - HashEnd
            - BranchSide:      'tpm/src/crypt/CryptHash.c:566,17'
              BranchSideFuncs:
                - HashEnd
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - HashEnd
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:557,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptHash.c:558,19'
          Dst:             CryptGetHashDef
        - Src:             'tpm/src/crypt/CryptHash.c:566,9'
          Dst:             HashEnd
        - Src:             'tpm/src/crypt/CryptHash.c:568,9'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptHash.c:569,9'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptHash.c:570,9'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptHash.c:572,12'
          Dst:             HashEnd
    - functionName:    CryptHashBlock
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 418
      functionDepth:   0
      returnType:      short
      argCount:        5
      argTypes:
        - short
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashAlg
        - dataSize
        - data
        - dOutSize
        - dOut
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate
        - CryptHashStart
        - HashEnd
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:416,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptHash.c:417,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptHash.c:418,12'
          Dst:             HashEnd
    - functionName:    CryptMGF_KDF
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 655
      functionDepth:   0
      returnType:      short
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - short
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - mSize
        - mask
        - hashAlg
        - seedSize
        - seed
        - counter
      BBCount:         19
      ICount:          140
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdateInt
        - CryptGetHashDef
        - CryptHashEnd
        - CryptHashStart
      functionUses:    8
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:639,32'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:639,36'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:640,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptHash.c:639,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:640,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:641,8'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdateInt
                - CryptHashEnd
        - Branch String:   'tpm/src/crypt/CryptHash.c:641,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:642,17'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdateInt
                - CryptHashEnd
            - BranchSide:      'tpm/src/crypt/CryptHash.c:643,12'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdateInt
                - CryptHashEnd
        - Branch String:   'tpm/src/crypt/CryptHash.c:644,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:647,36'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdateInt
                - CryptHashEnd
            - BranchSide:      'tpm/src/crypt/CryptHash.c:654,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptHash.c:651,34'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:651,63'
              BranchSideFuncs:
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/CryptHash.c:651,63'
              BranchSideFuncs:
                - CryptHashEnd
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdateInt
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:634,23'
          Dst:             CryptGetHashDef
        - Src:             'tpm/src/crypt/CryptHash.c:647,9'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptHash.c:648,9'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptHash.c:649,9'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/CryptHash.c:651,9'
          Dst:             CryptHashEnd
    - functionName:    CryptHmacEnd2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 608
      functionLinenumberEnd: 609
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hmacState
        - digest
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHmacEnd
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:609,12'
          Dst:             CryptHmacEnd
    - functionName:    CryptHmacStart2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 595
      functionLinenumberEnd: 596
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - hmacState
        - hashAlg
        - key
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHmacStart
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:596,12'
          Dst:             CryptHmacStart
    - functionName:    CryptHashEnd2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 452
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - digest
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashEnd
      functionUses:    39
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:452,12'
          Dst:             CryptHashEnd
    - functionName:    CryptHashImportState
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 287
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - internalFmt
        - externalFmt
      BBCount:         11
      ICount:          107
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CryptGetHashDef
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:268,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:268,8'
              BranchSideFuncs:
                - CryptGetHashDef
            - BranchSide:      'tpm/src/crypt/CryptHash.c:271,12'
              BranchSideFuncs:
                - CryptGetHashDef
        - Branch String:   'tpm/src/crypt/CryptHash.c:271,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:273,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:277,44'
              BranchSideFuncs:
                - CryptGetHashDef
        - Branch String:   'tpm/src/crypt/CryptHash.c:279,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:281,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:286,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:277,28'
          Dst:             CryptGetHashDef
    - functionName:    CryptHashExportState
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - internalFmt
        - externalFmt
      BBCount:         11
      ICount:          103
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:230,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:232,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:236,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptHash.c:236,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:238,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:243,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptHash.c:243,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:243,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:244,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptHashCopyState
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - out
        - in
      BBCount:         13
      ICount:          109
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:192,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:192,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:193,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptHash.c:195,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:197,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:199,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptHash.c:199,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:199,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:201,27'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:192,5'
          Dst:             TpmFail
    - functionName:    CryptHashGetContextAlg
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptHashGetOid
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - hashAlg
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptGetHashDef
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:172,12'
          Dst:             CryptGetHashDef
    - functionName:    CryptHashGetBlockSize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - hashAlg
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptGetHashDef
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:164,12'
          Dst:             CryptGetHashDef
    - functionName:    CryptHashGetAlgByIndex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - index
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:132,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:133,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:135,32'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptHashIsValidAlg
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - hashAlg
        - flag
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptGetHashDef
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptHash.c:113,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptHash.c:114,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptHash.c:115,28'
              BranchSideFuncs:
                - CryptGetHashDef
      Callsites:
        - Src:             'tpm/src/crypt/CryptHash.c:115,12'
          Dst:             CryptGetHashDef
    - functionName:    CryptHashStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptHashInit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    RsaSimulationEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 534
      functionLinenumberEnd: 535
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PrimeSelectWithSieve
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - candidate
        - e
        - rand
      BBCount:         33
      ICount:          206
      EdgeCount:       41
      CyclomaticComplexity: 10
      functionsReached:
        - BnAddWord
        - BnCopy
        - BnInit
        - BnModWord
        - BnSizeInBits
        - ClearBit
        - FindNthSetBit
        - MillerRabin
        - PrimeSieve
        - RsaAdjustPrimeLimit
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:414,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:416,9'
              BranchSideFuncs:
                - RsaAdjustPrimeLimit
                - PrimeSieve
                - TpmFail
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - ClearBit
                - MillerRabin
                - BnCopy
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:418,13'
              BranchSideFuncs:
                - RsaAdjustPrimeLimit
                - PrimeSieve
                - TpmFail
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - ClearBit
                - MillerRabin
                - BnCopy
                - TpmFail
                - RsaAdjustPrimeLimit
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:418,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:420,9'
              BranchSideFuncs:
                - RsaAdjustPrimeLimit
                - PrimeSieve
                - TpmFail
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - ClearBit
                - MillerRabin
                - BnCopy
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:424,9'
              BranchSideFuncs:
                - RsaAdjustPrimeLimit
                - PrimeSieve
                - TpmFail
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - ClearBit
                - MillerRabin
                - BnCopy
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:433,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:433,5'
              BranchSideFuncs:
                - TpmFail
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - ClearBit
                - MillerRabin
                - BnCopy
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:433,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:433,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:433,5'
              BranchSideFuncs:
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - ClearBit
                - MillerRabin
                - BnCopy
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:434,5'
              BranchSideFuncs:
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - ClearBit
                - MillerRabin
                - BnCopy
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:434,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:437,40'
              BranchSideFuncs:
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - ClearBit
                - MillerRabin
                - BnCopy
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:459,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:439,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:439,29'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:440,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:439,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:440,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:443,19'
              BranchSideFuncs:
                - BnAddWord
                - BnModWord
                - ClearBit
                - FindNthSetBit
                - TpmFail
                - MillerRabin
                - BnCopy
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:449,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:449,28'
              BranchSideFuncs:
                - ClearBit
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - TpmFail
                - MillerRabin
                - BnCopy
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:455,18'
              BranchSideFuncs:
                - ClearBit
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - MillerRabin
                - BnCopy
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:449,39'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:449,54'
              BranchSideFuncs:
                - MillerRabin
                - ClearBit
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - TpmFail
                - BnCopy
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:455,18'
              BranchSideFuncs:
                - ClearBit
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - MillerRabin
                - BnCopy
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:449,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:451,20'
              BranchSideFuncs:
                - BnCopy
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:455,18'
              BranchSideFuncs:
                - ClearBit
                - FindNthSetBit
                - BnAddWord
                - BnModWord
                - MillerRabin
                - BnCopy
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:399,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:412,17'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:416,9'
          Dst:             RsaAdjustPrimeLimit
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:420,9'
          Dst:             RsaAdjustPrimeLimit
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:424,9'
          Dst:             RsaAdjustPrimeLimit
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:432,12'
          Dst:             PrimeSieve
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:433,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:437,18'
          Dst:             FindNthSetBit
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:440,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:443,9'
          Dst:             BnAddWord
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:448,24'
          Dst:             BnModWord
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:449,42'
          Dst:             MillerRabin
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:451,13'
          Dst:             BnCopy
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:455,9'
          Dst:             ClearBit
    - functionName:    RsaAdjustPrimeLimit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - requestedPrimes
      BBCount:         10
      ICount:          57
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:73,29'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:73,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:74,27'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:73,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:74,27'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:75,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:77,37'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:79,22'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PrimeSieve
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 357
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - bnN
        - fieldSize
        - field
      BBCount:         50
      ICount:          324
      EdgeCount:       63
      CyclomaticComplexity: 15
      functionsReached:
        - BitsInArray
        - BnModWord
        - BnSubWord
        - ClearBit
        - RsaNextPrime
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:255,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:255,5'
              BranchSideFuncs:
                - TpmFail
                - BnModWord
                - BnSubWord
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:255,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:255,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:255,5'
              BranchSideFuncs:
                - BnModWord
                - BnSubWord
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:260,32'
              BranchSideFuncs:
                - BnModWord
                - BnSubWord
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:261,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:262,16'
              BranchSideFuncs:
                - BnSubWord
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:266,15'
              BranchSideFuncs:
                - BnSubWord
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:269,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:272,16'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:274,8'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:274,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:275,16'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:279,10'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:283,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:283,5'
              BranchSideFuncs:
                - BnModWord
                - RsaNextPrime
                - BitsInArray
                - ClearBit
                - RsaNextPrime
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:285,20'
              BranchSideFuncs:
                - BnModWord
                - RsaNextPrime
                - BitsInArray
                - ClearBit
                - RsaNextPrime
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:288,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:290,24'
              BranchSideFuncs:
                - RsaNextPrime
                - BnModWord
                - RsaNextPrime
                - BitsInArray
                - ClearBit
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:297,39'
              BranchSideFuncs:
                - BnModWord
                - RsaNextPrime
                - BitsInArray
                - RsaNextPrime
                - ClearBit
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:292,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:293,30'
              BranchSideFuncs:
                - BnModWord
                - RsaNextPrime
                - BitsInArray
                - ClearBit
                - RsaNextPrime
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:294,9'
              BranchSideFuncs:
                - BnModWord
                - RsaNextPrime
                - BitsInArray
                - ClearBit
                - RsaNextPrime
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:306,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:308,26'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - RsaNextPrime
                - ClearBit
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:345,12'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:309,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:310,17'
              BranchSideFuncs:
                - BitsInArray
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:311,17'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - RsaNextPrime
                - ClearBit
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:336,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:337,22'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - RsaNextPrime
                - ClearBit
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:338,21'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - RsaNextPrime
                - ClearBit
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:338,21'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:339,19'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - RsaNextPrime
                - ClearBit
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:341,21'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - RsaNextPrime
                - ClearBit
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:342,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:343,26'
              BranchSideFuncs:
                - ClearBit
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - RsaNextPrime
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:344,9'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - RsaNextPrime
                - ClearBit
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:345,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:283,5'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:347,17'
              BranchSideFuncs:
                - RsaNextPrime
                - BitsInArray
                - BnModWord
                - ClearBit
                - RsaNextPrime
      Callsites:
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:255,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:260,22'
          Dst:             BnModWord
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:266,5'
          Dst:             BnSubWord
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:283,24'
          Dst:             RsaNextPrime
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:290,24'
          Dst:             RsaNextPrime
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:297,29'
          Dst:             BnModWord
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:343,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/CryptPrimeSieve.c:354,9'
          Dst:             BitsInArray
    - functionName:    FindNthSetBit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - aSize
        - a
        - n
      BBCount:         18
      ICount:          170
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:195,33'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:195,37'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:195,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:195,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:196,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:197,6'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:205,22'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:205,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:205,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:205,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:206,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:207,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:207,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:207,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:207,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    RsaNextPrime
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - lastPrime
      BBCount:         10
      ICount:          64
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:90,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:91,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:92,15'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:93,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:95,27'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:98,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:95,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:96,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:97,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    BitsInArray
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - a
        - aSize
      BBCount:         5
      ICount:          54
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrimeSieve.c:171,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:172,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrimeSieve.c:173,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    DfCompute
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - dfState
      BBCount:         15
      ICount:          106
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - AES_encrypt
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:121,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:123,32'
              BranchSideFuncs:
                - AES_encrypt
            - BranchSide:      'tpm/src/crypt/CryptRand.c:130,11'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:124,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:126,24'
              BranchSideFuncs:
                - AES_encrypt
            - BranchSide:      'tpm/src/crypt/CryptRand.c:128,9'
              BranchSideFuncs:
                - AES_encrypt
        - Branch String:   'tpm/src/crypt/CryptRand.c:130,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:131,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:132,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:128,9'
          Dst:             AES_encrypt
    - 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:    EncryptDRBG
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dOut
        - dOutBytes
        - keySchedule
        - iv
        - lastValue
      BBCount:         23
      ICount:          169
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - AES_encrypt
        - IncrementIv
        - TpmLogFailure
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:343,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:347,21'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:388,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:353,38'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:353,42'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:359,24'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:354,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:354,16'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:359,24'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:354,41'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:354,45'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:359,24'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:353,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:356,13'
              BranchSideFuncs:
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:359,24'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:363,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:363,22'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:363,22'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:365,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:343,5'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:366,25'
              BranchSideFuncs:
                - IncrementIv
                - AES_encrypt
                - TpmLogFailure
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:347,9'
          Dst:             IncrementIv
        - Src:             'tpm/src/crypt/CryptRand.c:348,9'
          Dst:             AES_encrypt
        - Src:             'tpm/src/crypt/CryptRand.c:356,13'
          Dst:             TpmLogFailure
    - functionName:    IncrementIv
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 320
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - iv
      BBCount:         7
      ICount:          47
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:318,32'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:318,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:318,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:318,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:318,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:320,1'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptRandInit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 728
      functionLinenumberEnd: 732
      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:
        - Branch String:   'tpm/src/crypt/CryptRand.c:730,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:730,5'
              BranchSideFuncs:
                - _plat__GetEntropy
                - DRBG_SelfTest
            - BranchSide:      'tpm/src/crypt/CryptRand.c:730,5'
              BranchSideFuncs:
                - _plat__GetEntropy
                - DRBG_SelfTest
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:730,5'
          Dst:             _plat__GetEntropy
        - Src:             'tpm/src/crypt/CryptRand.c:732,12'
          Dst:             DRBG_SelfTest
    - functionName:    DRBG_SelfTest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 548
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         26
      ICount:          147
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - DRBG_Generate
        - DRBG_Instantiate
        - DRBG_Reseed
        - DRBG_Uninstantiate
        - TpmFail
        - memcmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:488,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:494,5'
              BranchSideFuncs:
                - DRBG_Instantiate
                - DRBG_Generate
                - memcmp
                - DRBG_Reseed
                - DRBG_Generate
                - memcmp
                - DRBG_Uninstantiate
                - DRBG_Instantiate
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRand.c:494,5'
              BranchSideFuncs:
                - DRBG_Instantiate
                - DRBG_Generate
                - memcmp
                - DRBG_Reseed
                - DRBG_Generate
                - memcmp
                - DRBG_Uninstantiate
                - DRBG_Instantiate
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRand.c:494,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:494,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRand.c:496,5'
              BranchSideFuncs:
                - DRBG_Instantiate
                - DRBG_Generate
                - memcmp
                - DRBG_Reseed
                - DRBG_Generate
                - memcmp
                - DRBG_Uninstantiate
                - DRBG_Instantiate
        - Branch String:   'tpm/src/crypt/CryptRand.c:499,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:500,9'
              BranchSideFuncs:
                - DRBG_Generate
                - memcmp
                - DRBG_Reseed
                - DRBG_Generate
                - memcmp
                - DRBG_Uninstantiate
                - DRBG_Instantiate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:507,47'
              BranchSideFuncs:
                - DRBG_Generate
                - memcmp
                - DRBG_Reseed
                - DRBG_Generate
                - memcmp
                - DRBG_Uninstantiate
                - DRBG_Instantiate
        - Branch String:   'tpm/src/crypt/CryptRand.c:507,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:508,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:515,15'
              BranchSideFuncs:
                - memcmp
                - DRBG_Reseed
                - DRBG_Generate
                - memcmp
                - DRBG_Uninstantiate
                - DRBG_Instantiate
        - Branch String:   'tpm/src/crypt/CryptRand.c:515,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:516,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:517,5'
              BranchSideFuncs:
                - DRBG_Reseed
                - DRBG_Generate
                - memcmp
                - DRBG_Uninstantiate
                - DRBG_Instantiate
        - Branch String:   'tpm/src/crypt/CryptRand.c:528,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:529,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:530,15'
              BranchSideFuncs:
                - memcmp
                - DRBG_Uninstantiate
                - DRBG_Instantiate
        - Branch String:   'tpm/src/crypt/CryptRand.c:530,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:531,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:532,5'
              BranchSideFuncs:
                - DRBG_Uninstantiate
                - DRBG_Instantiate
        - Branch String:   'tpm/src/crypt/CryptRand.c:535,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:537,14'
              BranchSideFuncs:
                - DRBG_Instantiate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:542,5'
              BranchSideFuncs:
                - DRBG_Instantiate
        - Branch String:   'tpm/src/crypt/CryptRand.c:537,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:538,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:539,5'
              BranchSideFuncs:
                - DRBG_Instantiate
        - Branch String:   'tpm/src/crypt/CryptRand.c:543,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:544,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:545,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:494,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRand.c:499,9'
          Dst:             DRBG_Instantiate
        - Src:             'tpm/src/crypt/CryptRand.c:507,8'
          Dst:             DRBG_Generate
        - Src:             'tpm/src/crypt/CryptRand.c:515,8'
          Dst:             memcmp
        - Src:             'tpm/src/crypt/CryptRand.c:518,5'
          Dst:             DRBG_Reseed
        - Src:             'tpm/src/crypt/CryptRand.c:528,8'
          Dst:             DRBG_Generate
        - Src:             'tpm/src/crypt/CryptRand.c:530,8'
          Dst:             memcmp
        - Src:             'tpm/src/crypt/CryptRand.c:534,5'
          Dst:             DRBG_Uninstantiate
        - Src:             'tpm/src/crypt/CryptRand.c:543,8'
          Dst:             DRBG_Instantiate
    - functionName:    DRBG_Instantiate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 904
      functionLinenumberEnd: 928
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - drbgState
        - pSize
        - personalization
      BBCount:         22
      ICount:          114
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - DRBG_GetEntropy
        - DRBG_SelfTest
        - DfBuffer
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:908,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:908,5'
              BranchSideFuncs:
                - DRBG_SelfTest
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:908,5'
              BranchSideFuncs:
                - TpmFail
                - DRBG_SelfTest
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
        - Branch String:   'tpm/src/crypt/CryptRand.c:908,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:908,5'
              BranchSideFuncs:
                - DRBG_SelfTest
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:908,5'
              BranchSideFuncs:
                - TpmFail
                - DRBG_SelfTest
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
        - Branch String:   'tpm/src/crypt/CryptRand.c:908,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:908,5'
              BranchSideFuncs:
                - DRBG_SelfTest
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:912,9'
              BranchSideFuncs:
                - DRBG_SelfTest
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
        - Branch String:   'tpm/src/crypt/CryptRand.c:912,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:912,28'
              BranchSideFuncs:
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:916,9'
              BranchSideFuncs:
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
        - Branch String:   'tpm/src/crypt/CryptRand.c:912,41'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:912,45'
              BranchSideFuncs:
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:916,9'
              BranchSideFuncs:
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
        - Branch String:   'tpm/src/crypt/CryptRand.c:912,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:913,9'
              BranchSideFuncs:
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:916,9'
              BranchSideFuncs:
                - DRBG_GetEntropy
                - DfBuffer
                - DRBG_Reseed
        - Branch String:   'tpm/src/crypt/CryptRand.c:916,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:917,9'
              BranchSideFuncs:
                - DfBuffer
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:919,12'
              BranchSideFuncs:
                - DfBuffer
                - DRBG_Reseed
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:908,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRand.c:912,45'
          Dst:             DRBG_SelfTest
        - Src:             'tpm/src/crypt/CryptRand.c:916,9'
          Dst:             DRBG_GetEntropy
        - Src:             'tpm/src/crypt/CryptRand.c:925,35'
          Dst:             DfBuffer
        - Src:             'tpm/src/crypt/CryptRand.c:925,5'
          Dst:             DRBG_Reseed
    - functionName:    DRBG_Generate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 888
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - state
        - random
        - randomSize
      BBCount:         42
      ICount:          375
      EdgeCount:       56
      CyclomaticComplexity: 16
      functionsReached:
        - AES_set_encrypt_key
        - CryptKDFa
        - DRBG_Reseed
        - DRBG_Update
        - EncryptDRBG
        - MemoryCopy
        - TpmLogFailure
      functionUses:    11
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:749,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:750,15'
              BranchSideFuncs:
                - TpmLogFailure
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
                - TpmLogFailure
                - DRBG_Reseed
                - CryptKDFa
                - CryptKDFa
                - MemoryCopy
            - BranchSide:      'tpm/src/crypt/CryptRand.c:751,8'
              BranchSideFuncs:
                - TpmLogFailure
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
                - TpmLogFailure
                - DRBG_Reseed
                - CryptKDFa
                - CryptKDFa
                - MemoryCopy
        - Branch String:   'tpm/src/crypt/CryptRand.c:751,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:752,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:756,8'
              BranchSideFuncs:
                - TpmLogFailure
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
                - TpmLogFailure
                - DRBG_Reseed
                - CryptKDFa
                - CryptKDFa
                - MemoryCopy
        - Branch String:   'tpm/src/crypt/CryptRand.c:756,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:758,44'
              BranchSideFuncs:
                - CryptKDFa
                - CryptKDFa
                - MemoryCopy
            - BranchSide:      'tpm/src/crypt/CryptRand.c:837,13'
              BranchSideFuncs:
                - TpmLogFailure
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
                - TpmLogFailure
                - DRBG_Reseed
        - Branch String:   'tpm/src/crypt/CryptRand.c:764,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:765,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:767,9'
              BranchSideFuncs:
                - CryptKDFa
                - CryptKDFa
                - MemoryCopy
        - Branch String:   'tpm/src/crypt/CryptRand.c:767,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:771,16'
              BranchSideFuncs:
                - CryptKDFa
                - CryptKDFa
                - MemoryCopy
            - BranchSide:      'tpm/src/crypt/CryptRand.c:834,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:771,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:777,24'
              BranchSideFuncs:
                - MemoryCopy
                - CryptKDFa
                - CryptKDFa
            - BranchSide:      'tpm/src/crypt/CryptRand.c:797,42'
              BranchSideFuncs:
                - CryptKDFa
                - MemoryCopy
                - CryptKDFa
        - Branch String:   'tpm/src/crypt/CryptRand.c:777,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:777,22'
              BranchSideFuncs:
                - MemoryCopy
                - CryptKDFa
                - CryptKDFa
            - BranchSide:      'tpm/src/crypt/CryptRand.c:777,22'
              BranchSideFuncs:
                - MemoryCopy
                - CryptKDFa
                - CryptKDFa
        - Branch String:   'tpm/src/crypt/CryptRand.c:800,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:802,28'
              BranchSideFuncs:
                - CryptKDFa
                - CryptKDFa
                - MemoryCopy
            - BranchSide:      'tpm/src/crypt/CryptRand.c:822,54'
              BranchSideFuncs:
                - CryptKDFa
                - CryptKDFa
                - MemoryCopy
        - Branch String:   'tpm/src/crypt/CryptRand.c:837,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:839,52'
              BranchSideFuncs:
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
                - TpmLogFailure
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:884,9'
              BranchSideFuncs:
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:843,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:845,16'
              BranchSideFuncs:
                - TpmLogFailure
                - DRBG_Reseed
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:866,12'
              BranchSideFuncs:
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:845,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:847,29'
              BranchSideFuncs:
                - DRBG_Reseed
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:855,17'
              BranchSideFuncs:
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:848,35'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:848,39'
              BranchSideFuncs:
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:850,13'
              BranchSideFuncs:
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:848,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:849,21'
              BranchSideFuncs:
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:850,13'
              BranchSideFuncs:
                - AES_set_encrypt_key
                - EncryptDRBG
                - DRBG_Update
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:866,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:870,13'
              BranchSideFuncs:
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:875,13'
              BranchSideFuncs:
                - EncryptDRBG
                - DRBG_Update
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:781,17'
          Dst:             MemoryCopy
        - Src:             'tpm/src/crypt/CryptRand.c:804,21'
          Dst:             CryptKDFa
        - Src:             'tpm/src/crypt/CryptRand.c:822,44'
          Dst:             CryptKDFa
        - Src:             'tpm/src/crypt/CryptRand.c:847,17'
          Dst:             DRBG_Reseed
        - Src:             'tpm/src/crypt/CryptRand.c:855,17'
          Dst:             TpmLogFailure
        - Src:             'tpm/src/crypt/CryptRand.c:866,12'
          Dst:             AES_set_encrypt_key
        - Src:             'tpm/src/crypt/CryptRand.c:870,13'
          Dst:             TpmLogFailure
        - Src:             'tpm/src/crypt/CryptRand.c:874,9'
          Dst:             EncryptDRBG
        - Src:             'tpm/src/crypt/CryptRand.c:877,9'
          Dst:             DRBG_Update
        - Src:             'tpm/src/crypt/CryptRand.c:884,9'
          Dst:             TpmLogFailure
    - functionName:    DRBG_Reseed
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - drbgState
        - providedEntropy
        - additionalData
      BBCount:         23
      ICount:          118
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - DRBG_GetEntropy
        - DRBG_Update
        - TpmFail
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:457,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:457,5'
              BranchSideFuncs:
                - TpmFail
                - DRBG_Update
                - DRBG_GetEntropy
            - BranchSide:      'tpm/src/crypt/CryptRand.c:457,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRand.c:457,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:457,5'
              BranchSideFuncs:
                - DRBG_Update
                - DRBG_GetEntropy
            - BranchSide:      'tpm/src/crypt/CryptRand.c:459,8'
              BranchSideFuncs:
                - DRBG_Update
                - DRBG_GetEntropy
        - Branch String:   'tpm/src/crypt/CryptRand.c:459,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:461,25'
              BranchSideFuncs:
                - DRBG_GetEntropy
                - DRBG_Update
            - BranchSide:      'tpm/src/crypt/CryptRand.c:465,8'
              BranchSideFuncs:
                - DRBG_Update
        - Branch String:   'tpm/src/crypt/CryptRand.c:462,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:463,13'
              BranchSideFuncs:
                - DRBG_Update
            - BranchSide:      'tpm/src/crypt/CryptRand.c:464,5'
              BranchSideFuncs:
                - DRBG_Update
        - Branch String:   'tpm/src/crypt/CryptRand.c:465,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:470,15'
              BranchSideFuncs:
                - DRBG_Update
            - BranchSide:      'tpm/src/crypt/CryptRand.c:473,17'
              BranchSideFuncs:
                - DRBG_Update
        - Branch String:   'tpm/src/crypt/CryptRand.c:470,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:471,52'
              BranchSideFuncs:
                - DRBG_Update
            - BranchSide:      'tpm/src/crypt/CryptRand.c:472,5'
              BranchSideFuncs:
                - DRBG_Update
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:457,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRand.c:462,13'
          Dst:             DRBG_GetEntropy
        - Src:             'tpm/src/crypt/CryptRand.c:473,5'
          Dst:             DRBG_Update
    - functionName:    DRBG_Uninstantiate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 938
      functionLinenumberEnd: 943
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - drbgState
      BBCount:         7
      ICount:          35
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:939,28'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:939,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:940,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:939,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:940,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:941,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    DRBG_GetEntropy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - requiredEntropy
        - entropy
      BBCount:         26
      ICount:          130
      EdgeCount:       32
      CyclomaticComplexity: 8
      functionsReached:
        - TpmFail
        - _plat__GetEntropy
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:278,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:283,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRand.c:294,14'
              BranchSideFuncs:
                - _plat__GetEntropy
        - Branch String:   'tpm/src/crypt/CryptRand.c:283,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:287,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:293,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:287,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:287,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:288,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:300,47'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:299,9'
              BranchSideFuncs:
                - _plat__GetEntropy
            - BranchSide:      'tpm/src/crypt/CryptRand.c:300,51'
              BranchSideFuncs:
                - _plat__GetEntropy
        - Branch String:   'tpm/src/crypt/CryptRand.c:299,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:303,50'
              BranchSideFuncs:
                - _plat__GetEntropy
            - BranchSide:      'tpm/src/crypt/CryptRand.c:308,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:305,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:306,17'
              BranchSideFuncs:
                - _plat__GetEntropy
            - BranchSide:      'tpm/src/crypt/CryptRand.c:307,9'
              BranchSideFuncs:
                - _plat__GetEntropy
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:287,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRand.c:303,31'
          Dst:             _plat__GetEntropy
    - functionName:    DRBG_Update
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 409
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - drbgState
        - keySchedule
        - providedData
      BBCount:         20
      ICount:          130
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - AES_set_encrypt_key
        - EncryptDRBG
        - TpmFail
        - TpmLogFailure
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:416,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:416,5'
              BranchSideFuncs:
                - EncryptDRBG
                - AES_set_encrypt_key
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:419,8'
              BranchSideFuncs:
                - EncryptDRBG
                - AES_set_encrypt_key
                - TpmLogFailure
        - Branch String:   'tpm/src/crypt/CryptRand.c:419,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:421,12'
              BranchSideFuncs:
                - AES_set_encrypt_key
                - EncryptDRBG
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:430,17'
              BranchSideFuncs:
                - EncryptDRBG
        - Branch String:   'tpm/src/crypt/CryptRand.c:421,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:423,13'
              BranchSideFuncs:
                - TpmLogFailure
            - BranchSide:      'tpm/src/crypt/CryptRand.c:426,21'
              BranchSideFuncs:
                - EncryptDRBG
        - Branch String:   'tpm/src/crypt/CryptRand.c:431,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:433,27'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:439,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:434,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:435,27'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:436,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:416,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRand.c:421,12'
          Dst:             AES_set_encrypt_key
        - Src:             'tpm/src/crypt/CryptRand.c:423,13'
          Dst:             TpmLogFailure
        - Src:             'tpm/src/crypt/CryptRand.c:430,5'
          Dst:             EncryptDRBG
    - 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:    DfBuffer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - output
        - size
        - buf
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - DfEnd
        - DfStart
        - DfUpdate
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:247,18'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:247,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:248,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:247,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:248,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRand.c:250,23'
              BranchSideFuncs:
                - DfStart
                - DfUpdate
                - DfEnd
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:250,5'
          Dst:             DfStart
        - Src:             'tpm/src/crypt/CryptRand.c:251,5'
          Dst:             DfUpdate
        - Src:             'tpm/src/crypt/CryptRand.c:252,5'
          Dst:             DfEnd
    - functionName:    DfStart
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - dfState
        - inputLength
      BBCount:         7
      ICount:          75
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - AES_set_encrypt_key
        - DfCompute
        - Uint32ToByteArray
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:184,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:185,45'
              BranchSideFuncs:
                - DfCompute
                - Uint32ToByteArray
                - Uint32ToByteArray
            - BranchSide:      'tpm/src/crypt/CryptRand.c:186,15'
              BranchSideFuncs:
                - DfCompute
                - Uint32ToByteArray
                - Uint32ToByteArray
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:182,5'
          Dst:             AES_set_encrypt_key
        - Src:             'tpm/src/crypt/CryptRand.c:186,5'
          Dst:             DfCompute
        - Src:             'tpm/src/crypt/CryptRand.c:189,5'
          Dst:             Uint32ToByteArray
        - Src:             'tpm/src/crypt/CryptRand.c:190,5'
          Dst:             Uint32ToByteArray
    - functionName:    DfUpdate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - dfState
        - size
        - data
      BBCount:         16
      ICount:          106
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - DfCompute
        - TpmFail
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:200,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:202,43'
              BranchSideFuncs:
                - TpmFail
                - DfCompute
            - BranchSide:      'tpm/src/crypt/CryptRand.c:218,1'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRand.c:203,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:204,22'
              BranchSideFuncs:
                - TpmFail
                - DfCompute
            - BranchSide:      'tpm/src/crypt/CryptRand.c:206,17'
              BranchSideFuncs:
                - TpmFail
                - DfCompute
        - Branch String:   'tpm/src/crypt/CryptRand.c:213,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:213,9'
              BranchSideFuncs:
                - TpmFail
                - DfCompute
            - BranchSide:      'tpm/src/crypt/CryptRand.c:215,12'
              BranchSideFuncs:
                - TpmFail
                - DfCompute
        - Branch String:   'tpm/src/crypt/CryptRand.c:215,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:200,5'
              BranchSideFuncs:
                - DfCompute
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRand.c:216,23'
              BranchSideFuncs:
                - DfCompute
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:213,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRand.c:216,13'
          Dst:             DfCompute
    - functionName:    DfEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - dfState
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DfCompute
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:231,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:232,9'
              BranchSideFuncs:
                - DfCompute
            - BranchSide:      'tpm/src/crypt/CryptRand.c:234,15'
              BranchSideFuncs:
                - DfCompute
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:234,5'
          Dst:             DfCompute
    - functionName:    CryptRandStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 707
      functionLinenumberEnd: 719
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DRBG_Instantiate
        - DRBG_Reseed
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:714,21'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:714,21'
              BranchSideFuncs:
                - DRBG_Instantiate
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:714,21'
              BranchSideFuncs:
                - DRBG_Instantiate
                - DRBG_Reseed
        - Branch String:   'tpm/src/crypt/CryptRand.c:714,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:715,16'
              BranchSideFuncs:
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:717,16'
              BranchSideFuncs:
                - DRBG_Instantiate
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:715,16'
          Dst:             DRBG_Reseed
        - Src:             'tpm/src/crypt/CryptRand.c:717,16'
          Dst:             DRBG_Instantiate
    - functionName:    DRBG_InstantiateSeeded
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 701
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - drbgState
        - seed
        - purpose
        - name
        - additional
      BBCount:         33
      ICount:          217
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - DRBG_SelfTest
        - DfEnd
        - DfStart
        - DfUpdate
        - TpmLogFailure
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:668,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:668,28'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:674,12'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
        - Branch String:   'tpm/src/crypt/CryptRand.c:668,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:670,9'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:674,12'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
        - Branch String:   'tpm/src/crypt/CryptRand.c:678,22'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:678,39'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:678,20'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
        - Branch String:   'tpm/src/crypt/CryptRand.c:679,23'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:679,43'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:679,20'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
        - Branch String:   'tpm/src/crypt/CryptRand.c:680,23'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:680,40'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:680,20'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
        - Branch String:   'tpm/src/crypt/CryptRand.c:681,23'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:681,46'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:681,20'
              BranchSideFuncs:
                - DfStart
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
                - DfUpdate
        - Branch String:   'tpm/src/crypt/CryptRand.c:687,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:688,28'
              BranchSideFuncs:
                - DfUpdate
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:689,8'
              BranchSideFuncs:
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
                - DfUpdate
        - Branch String:   'tpm/src/crypt/CryptRand.c:689,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:690,28'
              BranchSideFuncs:
                - DfUpdate
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:691,8'
              BranchSideFuncs:
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
                - DfUpdate
        - Branch String:   'tpm/src/crypt/CryptRand.c:691,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:692,28'
              BranchSideFuncs:
                - DfUpdate
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
            - BranchSide:      'tpm/src/crypt/CryptRand.c:693,8'
              BranchSideFuncs:
                - DfEnd
                - DRBG_Reseed
                - DfUpdate
        - Branch String:   'tpm/src/crypt/CryptRand.c:693,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:694,28'
              BranchSideFuncs:
                - DfUpdate
                - DfEnd
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:698,31'
              BranchSideFuncs:
                - DfEnd
                - DRBG_Reseed
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:668,28'
          Dst:             DRBG_SelfTest
        - Src:             'tpm/src/crypt/CryptRand.c:670,9'
          Dst:             TpmLogFailure
        - Src:             'tpm/src/crypt/CryptRand.c:684,5'
          Dst:             DfStart
        - Src:             'tpm/src/crypt/CryptRand.c:688,9'
          Dst:             DfUpdate
        - Src:             'tpm/src/crypt/CryptRand.c:690,9'
          Dst:             DfUpdate
        - Src:             'tpm/src/crypt/CryptRand.c:692,9'
          Dst:             DfUpdate
        - Src:             'tpm/src/crypt/CryptRand.c:694,9'
          Dst:             DfUpdate
        - Src:             'tpm/src/crypt/CryptRand.c:698,43'
          Dst:             DfEnd
        - Src:             'tpm/src/crypt/CryptRand.c:698,5'
          Dst:             DRBG_Reseed
    - functionName:    DRBG_AdditionalData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 648
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - drbgState
        - additionalData
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DRBG_Reseed
        - DfBuffer
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:643,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:643,8'
              BranchSideFuncs:
                - DfBuffer
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:645,29'
              BranchSideFuncs:
                - DfBuffer
                - DRBG_Reseed
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:645,9'
          Dst:             DfBuffer
        - Src:             'tpm/src/crypt/CryptRand.c:646,9'
          Dst:             DRBG_Reseed
    - functionName:    DRBG_InstantiateSeededKdf
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 620
      functionLinenumberEnd: 631
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - state
        - hashAlg
        - kdf
        - seed
        - label
        - context
        - limit
      BBCount:         3
      ICount:          71
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashGetDigestSize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:628,30'
          Dst:             CryptHashGetDigestSize
    - functionName:    CryptRandomGenerate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 605
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - randomSize
        - buffer
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - DRBG_Generate
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:605,12'
          Dst:             DRBG_Generate
    - functionName:    CryptRandomStir
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - additionalDataSize
        - additionalData
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DRBG_GetEntropy
        - DRBG_Reseed
        - DfBuffer
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRand.c:568,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRand.c:569,9'
              BranchSideFuncs:
                - DfBuffer
                - DRBG_Reseed
            - BranchSide:      'tpm/src/crypt/CryptRand.c:573,37'
              BranchSideFuncs:
                - DfBuffer
                - DRBG_Reseed
      Callsites:
        - Src:             'tpm/src/crypt/CryptRand.c:568,9'
          Dst:             DRBG_GetEntropy
        - Src:             'tpm/src/crypt/CryptRand.c:573,17'
          Dst:             DfBuffer
        - Src:             'tpm/src/crypt/CryptRand.c:571,5'
          Dst:             DRBG_Reseed
    - functionName:    UnpackExponent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - b
        - Z
      BBCount:         21
      ICount:          115
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - BnFromBytes
        - MakePgreaterThanQ
        - RsaInitializeExponent
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:135,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:135,5'
              BranchSideFuncs:
                - RsaInitializeExponent
                - MakePgreaterThanQ
                - BnFromBytes
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:136,27'
              BranchSideFuncs:
                - RsaInitializeExponent
                - MakePgreaterThanQ
                - BnFromBytes
        - Branch String:   'tpm/src/crypt/CryptRsa.c:137,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:137,5'
              BranchSideFuncs:
                - MakePgreaterThanQ
                - BnFromBytes
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:138,15'
              BranchSideFuncs:
                - MakePgreaterThanQ
                - BnFromBytes
        - Branch String:   'tpm/src/crypt/CryptRsa.c:139,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:140,9'
              BranchSideFuncs:
                - BnFromBytes
                - MakePgreaterThanQ
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:141,23'
              BranchSideFuncs:
                - MakePgreaterThanQ
        - Branch String:   'tpm/src/crypt/CryptRsa.c:140,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:139,24'
              BranchSideFuncs:
                - MakePgreaterThanQ
                - BnFromBytes
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:140,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:136,5'
          Dst:             RsaInitializeExponent
        - Src:             'tpm/src/crypt/CryptRsa.c:140,9'
          Dst:             BnFromBytes
        - Src:             'tpm/src/crypt/CryptRsa.c:141,5'
          Dst:             MakePgreaterThanQ
    - functionName:    RsaInitializeExponent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - Z
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - BnInit
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:75,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:77,26'
              BranchSideFuncs:
                - BnInit
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:80,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:78,9'
          Dst:             BnInit
    - functionName:    MakePgreaterThanQ
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - Z
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnUnsignedCmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:87,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:87,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:89,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:87,8'
          Dst:             BnUnsignedCmp
    - functionName:    RsaPrivateKeyOp
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - inOut
        - Z
      BBCount:         33
      ICount:          163
      EdgeCount:       40
      CyclomaticComplexity: 9
      functionsReached:
        - BnAdd
        - BnInit
        - BnModExp
        - BnModMult
        - BnMult
        - BnSub
        - MakePgreaterThanQ
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:198,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:198,5'
              BranchSideFuncs:
                - BnModExp
                - BnSub
                - BnAdd
                - BnModMult
                - BnMult
                - BnAdd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:200,5'
              BranchSideFuncs:
                - BnModExp
                - BnSub
                - BnAdd
                - BnModMult
                - BnMult
                - BnAdd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:200,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:200,5'
              BranchSideFuncs:
                - BnSub
                - BnAdd
                - BnModMult
                - BnMult
                - BnAdd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:203,5'
              BranchSideFuncs:
                - BnSub
                - BnAdd
                - BnModMult
                - BnMult
                - BnAdd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:203,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:203,5'
              BranchSideFuncs:
                - BnAdd
                - BnModMult
                - BnMult
                - BnAdd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:204,5'
              BranchSideFuncs:
                - BnAdd
                - BnModMult
                - BnMult
                - BnAdd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:204,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:204,5'
              BranchSideFuncs:
                - BnModMult
                - BnMult
                - BnAdd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:205,5'
              BranchSideFuncs:
                - BnModMult
                - BnMult
                - BnAdd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:205,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:205,5'
              BranchSideFuncs:
                - BnMult
                - BnAdd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:207,5'
              BranchSideFuncs:
                - BnMult
                - BnAdd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:207,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:207,5'
              BranchSideFuncs:
                - BnAdd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:208,5'
              BranchSideFuncs:
                - BnAdd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:208,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:208,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:209,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:191,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:192,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:193,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:194,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:196,5'
          Dst:             MakePgreaterThanQ
        - Src:             'tpm/src/crypt/CryptRsa.c:198,5'
          Dst:             BnModExp
        - Src:             'tpm/src/crypt/CryptRsa.c:200,5'
          Dst:             BnModExp
        - Src:             'tpm/src/crypt/CryptRsa.c:203,5'
          Dst:             BnSub
        - Src:             'tpm/src/crypt/CryptRsa.c:204,5'
          Dst:             BnAdd
        - Src:             'tpm/src/crypt/CryptRsa.c:205,5'
          Dst:             BnModMult
        - Src:             'tpm/src/crypt/CryptRsa.c:207,5'
          Dst:             BnMult
        - Src:             'tpm/src/crypt/CryptRsa.c:208,5'
          Dst:             BnAdd
    - functionName:    CryptRsaGenerateKey
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1309
      functionLinenumberEnd: 1442
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - publicArea
        - sensitive
        - rand
      BBCount:         74
      ICount:          457
      EdgeCount:       94
      CyclomaticComplexity: 22
      functionsReached:
        - BnCopy
        - BnGeneratePrimeForRSA
        - BnGenerateRandomInRange
        - BnInit
        - BnModExp
        - BnMsb
        - BnMult
        - BnSetWord
        - BnSub
        - BnTo2B
        - BnUnsignedCmp
        - ComputePrivateExponent
        - CryptTestAlgorithm
        - IsPrimeInt
        - PackExponent
        - RsaInitializeExponent
        - RsaPrivateKeyOp
        - TestBit
        - TpmFail
        - _plat__IsCanceled
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1323,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1324,11'
              BranchSideFuncs:
                - BnSetWord
                - TestBit
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1327,12'
              BranchSideFuncs:
                - IsPrimeInt
                - BnSetWord
                - TestBit
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1327,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1328,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1330,24'
              BranchSideFuncs:
                - IsPrimeInt
                - BnSetWord
                - TestBit
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1338,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1338,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1340,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1339,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1339,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1340,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1337,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1340,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1351,5'
              BranchSideFuncs:
                - TestBit
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1351,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1351,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1361,11'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1361,45'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1361,49'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1361,5'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1361,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1363,12'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1440,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1363,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1364,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1366,34'
              BranchSideFuncs:
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - _plat__IsCanceled
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1366,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1368,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1376,12'
              BranchSideFuncs:
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1376,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1379,20'
              BranchSideFuncs:
                - BnCopy
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1384,26'
              BranchSideFuncs:
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnCopy
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1384,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1385,19'
              BranchSideFuncs:
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnCopy
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1387,19'
              BranchSideFuncs:
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnCopy
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1388,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1389,13'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1392,16'
              BranchSideFuncs:
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnSub
                - BnCopy
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1397,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1397,16'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1399,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1396,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1399,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1402,35'
              BranchSideFuncs:
                - ComputePrivateExponent
                - PackExponent
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - TpmFail
                - BnSub
                - BnCopy
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1402,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1407,16'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - TpmFail
                - BnSub
                - BnCopy
                - BnCopy
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1413,23'
              BranchSideFuncs:
                - PackExponent
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1407,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1408,24'
              BranchSideFuncs:
                - BnCopy
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - TpmFail
                - BnSub
                - BnCopy
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1409,13'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1416,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1416,17'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1417,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1415,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1417,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1419,16'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1421,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1423,13'
              BranchSideFuncs:
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1440,5'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1434,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1436,27'
              BranchSideFuncs:
                - BnSetWord
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1439,9'
              BranchSideFuncs:
                - _plat__IsCanceled
                - BnGeneratePrimeForRSA
                - BnUnsignedCmp
                - BnSub
                - BnMsb
                - BnMult
                - BnTo2B
                - ComputePrivateExponent
                - PackExponent
                - BnInit
                - BnInit
                - BnGenerateRandomInRange
                - BnModExp
                - RsaPrivateKeyOp
                - BnUnsignedCmp
                - BnSetWord
                - TpmFail
                - BnCopy
                - TpmFail
                - BnSub
                - BnCopy
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:1311,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:1312,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:1313,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:1317,5'
          Dst:             RsaInitializeExponent
        - Src:             'tpm/src/crypt/CryptRsa.c:1330,13'
          Dst:             IsPrimeInt
        - Src:             'tpm/src/crypt/CryptRsa.c:1333,5'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/CryptRsa.c:1351,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptRsa.c:1351,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptRsa.c:1363,12'
          Dst:             _plat__IsCanceled
        - Src:             'tpm/src/crypt/CryptRsa.c:1366,12'
          Dst:             BnGeneratePrimeForRSA
        - Src:             'tpm/src/crypt/CryptRsa.c:1379,13'
          Dst:             BnCopy
        - Src:             'tpm/src/crypt/CryptRsa.c:1384,12'
          Dst:             BnUnsignedCmp
        - Src:             'tpm/src/crypt/CryptRsa.c:1385,13'
          Dst:             BnSub
        - Src:             'tpm/src/crypt/CryptRsa.c:1387,13'
          Dst:             BnSub
        - Src:             'tpm/src/crypt/CryptRsa.c:1388,12'
          Dst:             BnMsb
        - Src:             'tpm/src/crypt/CryptRsa.c:1392,9'
          Dst:             BnMult
        - Src:             'tpm/src/crypt/CryptRsa.c:1393,9'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/CryptRsa.c:1399,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:1402,12'
          Dst:             ComputePrivateExponent
        - Src:             'tpm/src/crypt/CryptRsa.c:1408,17'
          Dst:             BnCopy
        - Src:             'tpm/src/crypt/CryptRsa.c:1413,9'
          Dst:             PackExponent
        - Src:             'tpm/src/crypt/CryptRsa.c:1417,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:1423,13'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:1424,13'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:1425,13'
          Dst:             BnGenerateRandomInRange
        - Src:             'tpm/src/crypt/CryptRsa.c:1428,13'
          Dst:             BnModExp
        - Src:             'tpm/src/crypt/CryptRsa.c:1430,13'
          Dst:             RsaPrivateKeyOp
        - Src:             'tpm/src/crypt/CryptRsa.c:1434,16'
          Dst:             BnUnsignedCmp
        - Src:             'tpm/src/crypt/CryptRsa.c:1436,17'
          Dst:             BnSetWord
    - functionName:    ComputePrivateExponent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pubExp
        - Z
      BBCount:         23
      ICount:          168
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - BnInit
        - BnModInverse
        - BnSetWord
        - BnSubWord
        - MakePgreaterThanQ
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:167,15'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:167,31'
              BranchSideFuncs:
                - BnModInverse
                - BnSubWord
                - BnSetWord
                - BnSetWord
                - BnModInverse
                - BnModInverse
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:167,15'
              BranchSideFuncs:
                - BnSubWord
                - BnSetWord
                - BnSetWord
                - BnModInverse
                - BnModInverse
        - Branch String:   'tpm/src/crypt/CryptRsa.c:170,15'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:170,31'
              BranchSideFuncs:
                - BnModInverse
                - BnSetWord
                - BnSetWord
                - BnModInverse
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:170,15'
              BranchSideFuncs:
                - BnSetWord
                - BnSetWord
                - BnModInverse
        - Branch String:   'tpm/src/crypt/CryptRsa.c:172,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:172,15'
              BranchSideFuncs:
                - BnSetWord
                - BnSetWord
                - BnModInverse
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:174,9'
              BranchSideFuncs:
                - BnSetWord
                - BnSetWord
        - Branch String:   'tpm/src/crypt/CryptRsa.c:172,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:173,34'
              BranchSideFuncs:
                - BnModInverse
                - BnSetWord
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:174,9'
              BranchSideFuncs:
                - BnSetWord
                - BnSetWord
        - Branch String:   'tpm/src/crypt/CryptRsa.c:174,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:175,19'
              BranchSideFuncs:
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:176,9'
              BranchSideFuncs:
                - BnSetWord
        - Branch String:   'tpm/src/crypt/CryptRsa.c:176,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:177,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:178,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:178,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:178,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:178,16'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:160,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:163,5'
          Dst:             MakePgreaterThanQ
        - Src:             'tpm/src/crypt/CryptRsa.c:166,11'
          Dst:             BnSubWord
        - Src:             'tpm/src/crypt/CryptRsa.c:167,18'
          Dst:             BnModInverse
        - Src:             'tpm/src/crypt/CryptRsa.c:169,11'
          Dst:             BnSubWord
        - Src:             'tpm/src/crypt/CryptRsa.c:170,18'
          Dst:             BnModInverse
        - Src:             'tpm/src/crypt/CryptRsa.c:173,21'
          Dst:             BnModInverse
        - Src:             'tpm/src/crypt/CryptRsa.c:175,9'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/CryptRsa.c:177,9'
          Dst:             BnSetWord
    - functionName:    PackExponent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - packed
        - Z
      BBCount:         16
      ICount:          110
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - BnMsb
        - BnToBytes
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:113,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:113,5'
              BranchSideFuncs:
                - BnToBytes
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:114,23'
              BranchSideFuncs:
                - BnToBytes
        - Branch String:   'tpm/src/crypt/CryptRsa.c:115,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:116,32'
              BranchSideFuncs:
                - BnToBytes
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:118,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:116,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:116,84'
              BranchSideFuncs:
                - BnToBytes
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:117,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:118,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:119,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:120,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:110,32'
          Dst:             BnMsb
        - Src:             'tpm/src/crypt/CryptRsa.c:113,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:116,13'
          Dst:             BnToBytes
    - functionName:    RSASSA_Decode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 855
      functionLinenumberEnd: 896
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashAlg
        - hIn
        - eIn
      BBCount:         31
      ICount:          244
      EdgeCount:       37
      CyclomaticComplexity: 8
      functionsReached:
        - CryptHashGetDigestSize
        - MakeDerTag
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:867,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:867,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:867,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:867,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:867,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:868,10'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:872,21'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:872,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:873,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:872,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:873,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:879,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:885,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:886,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:887,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:888,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:889,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:890,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:892,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:893,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:894,15'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:859,22'
          Dst:             MakeDerTag
        - Src:             'tpm/src/crypt/CryptRsa.c:861,23'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptRsa.c:867,5'
          Dst:             TpmFail
    - functionName:    MakeDerTag
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 760
      functionLinenumberEnd: 791
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - short
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashAlg
        - sizeOfBuffer
        - buffer
      BBCount:         13
      ICount:          135
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - CryptGetHashDef
        - MemoryCopy
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:770,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:770,5'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:771,20'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/crypt/CryptRsa.c:773,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:773,5'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:774,12'
              BranchSideFuncs:
                - MemoryCopy
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:767,22'
          Dst:             CryptGetHashDef
        - Src:             'tpm/src/crypt/CryptRsa.c:781,5'
          Dst:             MemoryCopy
    - functionName:    PssDecode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashAlg
        - dIn
        - eIn
      BBCount:         39
      ICount:          316
      EdgeCount:       46
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate
        - CryptHashEnd
        - CryptHashGetDigestSize
        - CryptHashStart
        - CryptMGF_KDF
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:672,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:672,5'
              BranchSideFuncs:
                - TpmFail
                - CryptMGF_KDF
                - TpmFail
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:672,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:672,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:672,5'
              BranchSideFuncs:
                - CryptMGF_KDF
                - TpmFail
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:673,10'
              BranchSideFuncs:
                - CryptMGF_KDF
                - TpmFail
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:676,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:677,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:680,12'
              BranchSideFuncs:
                - CryptMGF_KDF
                - TpmFail
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:693,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:693,5'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:697,13'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:697,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:698,21'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:701,14'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:701,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:703,13'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:709,14'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:703,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:704,13'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:706,24'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:715,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:717,14'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:722,11'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptDigestUpdate
                - CryptHashEnd
        - Branch String:   'tpm/src/crypt/CryptRsa.c:742,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:746,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:748,15'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:660,23'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptRsa.c:672,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:688,5'
          Dst:             CryptMGF_KDF
        - Src:             'tpm/src/crypt/CryptRsa.c:693,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:727,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptRsa.c:730,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptRsa.c:733,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptRsa.c:736,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptRsa.c:739,14'
          Dst:             CryptHashEnd
    - functionName:    CryptRsaValidateSignature
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1216
      functionLinenumberEnd: 1258
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - sig
        - key
        - digest
      BBCount:         36
      ICount:          182
      EdgeCount:       39
      CyclomaticComplexity: 5
      functionsReached:
        - CryptTestAlgorithm
        - PssDecode
        - RSAEP
        - RSASSA_Decode
        - TestBit
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1220,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1220,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - RSAEP
                - RSASSA_Decode
                - PssDecode
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1220,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1220,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1220,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - RSAEP
                - RSASSA_Decode
                - PssDecode
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1220,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1220,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1220,5'
              BranchSideFuncs:
                - TestBit
                - RSAEP
                - RSASSA_Decode
                - PssDecode
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1221,12'
              BranchSideFuncs:
                - TestBit
                - RSAEP
                - RSASSA_Decode
                - PssDecode
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1221,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1225,13'
              BranchSideFuncs:
                - TestBit
                - RSAEP
                - RSASSA_Decode
                - PssDecode
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1225,13'
              BranchSideFuncs:
                - TestBit
                - RSAEP
                - RSASSA_Decode
                - PssDecode
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1227,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1231,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1232,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1234,5'
              BranchSideFuncs:
                - TestBit
                - RSAEP
                - RSASSA_Decode
                - PssDecode
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1234,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1234,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - RSAEP
                - RSASSA_Decode
                - PssDecode
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1237,21'
              BranchSideFuncs:
                - RSAEP
                - RSASSA_Decode
                - PssDecode
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1238,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1238,18'
              BranchSideFuncs:
                - RSASSA_Decode
                - PssDecode
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1240,16'
              BranchSideFuncs:
                - RSASSA_Decode
                - PssDecode
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1240,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1243,36'
              BranchSideFuncs:
                - PssDecode
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1248,40'
              BranchSideFuncs:
                - RSASSA_Decode
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1253,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:1220,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:1234,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptRsa.c:1234,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptRsa.c:1237,14'
          Dst:             RSAEP
        - Src:             'tpm/src/crypt/CryptRsa.c:1243,26'
          Dst:             PssDecode
        - Src:             'tpm/src/crypt/CryptRsa.c:1248,26'
          Dst:             RSASSA_Decode
    - functionName:    RSAEP
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dInOut
        - key
      BBCount:         6
      ICount:          77
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ModExpB
        - Uint32ToByteArray
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:234,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:234,8'
              BranchSideFuncs:
                - Uint32ToByteArray
                - ModExpB
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:235,11'
              BranchSideFuncs:
                - Uint32ToByteArray
                - ModExpB
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:236,5'
          Dst:             Uint32ToByteArray
        - Src:             'tpm/src/crypt/CryptRsa.c:238,12'
          Dst:             ModExpB
    - functionName:    RSASSA_Encode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 805
      functionLinenumberEnd: 840
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - pOut
        - hashAlg
        - hIn
      BBCount:         31
      ICount:          194
      EdgeCount:       37
      CyclomaticComplexity: 8
      functionsReached:
        - CryptHashGetDigestSize
        - MakeDerTag
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:814,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:815,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:819,31'
              BranchSideFuncs:
                - CryptHashGetDigestSize
        - Branch String:   'tpm/src/crypt/CryptRsa.c:819,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:820,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:821,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:825,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:826,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:829,10'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:831,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:832,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:833,10'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:834,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:835,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:836,11'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:837,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:838,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:838,23'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:808,22'
          Dst:             MakeDerTag
        - Src:             'tpm/src/crypt/CryptRsa.c:819,8'
          Dst:             CryptHashGetDigestSize
    - functionName:    PssEncode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 580
      functionLinenumberEnd: 636
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - out
        - hashAlg
        - digest
        - rand
      BBCount:         21
      ICount:          214
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashGetDigestSize
        - CryptHashStart
        - CryptMGF_KDF
        - CryptRsaPssSaltSize
        - DRBG_Generate
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:590,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:590,5'
              BranchSideFuncs:
                - TpmFail
                - CryptRsaPssSaltSize
                - DRBG_Generate
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptDigestUpdate
                - CryptHashEnd
                - CryptMGF_KDF
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:590,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:590,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:590,5'
              BranchSideFuncs:
                - TpmFail
                - CryptRsaPssSaltSize
                - DRBG_Generate
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptDigestUpdate
                - CryptHashEnd
                - CryptMGF_KDF
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:590,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:590,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:590,5'
              BranchSideFuncs:
                - CryptRsaPssSaltSize
                - DRBG_Generate
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptDigestUpdate
                - CryptHashEnd
                - CryptMGF_KDF
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:593,21'
              BranchSideFuncs:
                - CryptRsaPssSaltSize
                - DRBG_Generate
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptDigestUpdate
                - CryptHashEnd
                - CryptMGF_KDF
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:605,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:606,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:609,32'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptDigestUpdate
                - CryptHashEnd
                - CryptMGF_KDF
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:616,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:617,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:621,6'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:631,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:632,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:635,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:581,23'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptRsa.c:590,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:596,16'
          Dst:             CryptRsaPssSaltSize
        - Src:             'tpm/src/crypt/CryptRsa.c:604,5'
          Dst:             DRBG_Generate
        - Src:             'tpm/src/crypt/CryptRsa.c:609,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptRsa.c:610,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptRsa.c:611,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptRsa.c:612,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/CryptRsa.c:613,5'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/crypt/CryptRsa.c:616,8'
          Dst:             CryptMGF_KDF
        - Src:             'tpm/src/crypt/CryptRsa.c:617,9'
          Dst:             TpmFail
    - functionName:    CryptRsaPssSaltSize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 556
      functionLinenumberEnd: 567
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - short
      constantsTouched: []
      argNames:
        - hashSize
        - outSize
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:563,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:564,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:565,13'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptRsaSign
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1161
      functionLinenumberEnd: 1200
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - sigOut
        - key
        - hIn
        - rand
      BBCount:         26
      ICount:          161
      EdgeCount:       29
      CyclomaticComplexity: 5
      functionsReached:
        - CryptTestAlgorithm
        - PssEncode
        - RSADP
        - RSASSA_Encode
        - TestBit
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1166,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1166,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - RSASSA_Encode
                - RSADP
                - PssEncode
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1166,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1166,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1166,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - RSASSA_Encode
                - RSADP
                - PssEncode
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1166,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1166,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1166,5'
              BranchSideFuncs:
                - TestBit
                - RSASSA_Encode
                - RSADP
                - PssEncode
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1168,15'
              BranchSideFuncs:
                - TestBit
                - RSASSA_Encode
                - RSADP
                - PssEncode
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1173,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1173,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - RSASSA_Encode
                - RSADP
                - PssEncode
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1175,12'
              BranchSideFuncs:
                - RSASSA_Encode
                - RSADP
                - PssEncode
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1175,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1178,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1181,33'
              BranchSideFuncs:
                - PssEncode
                - RSADP
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1187,37'
              BranchSideFuncs:
                - RSASSA_Encode
                - RSADP
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1192,20'
              BranchSideFuncs:
                - RSADP
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1194,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1197,25'
              BranchSideFuncs:
                - RSADP
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1199,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:1166,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:1173,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptRsa.c:1173,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptRsa.c:1181,22'
          Dst:             PssEncode
        - Src:             'tpm/src/crypt/CryptRsa.c:1187,22'
          Dst:             RSASSA_Encode
        - Src:             'tpm/src/crypt/CryptRsa.c:1197,18'
          Dst:             RSADP
    - functionName:    RSADP
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - inOut
        - key
      BBCount:         24
      ICount:          140
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - BnFrom2B
        - BnInit
        - BnTo2B
        - CryptRsaLoadPrivateExponent
        - RsaInitializeExponent
        - RsaPrivateKeyOp
        - UnpackExponent
        - UnsignedCompareB
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:266,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:271,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:276,9'
              BranchSideFuncs:
                - UnpackExponent
                - RsaPrivateKeyOp
                - BnTo2B
                - CryptRsaLoadPrivateExponent
        - Branch String:   'tpm/src/crypt/CryptRsa.c:276,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:278,41'
              BranchSideFuncs:
                - CryptRsaLoadPrivateExponent
                - UnpackExponent
                - RsaPrivateKeyOp
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:282,5'
              BranchSideFuncs:
                - UnpackExponent
                - RsaPrivateKeyOp
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptRsa.c:278,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:280,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:281,5'
              BranchSideFuncs:
                - UnpackExponent
                - RsaPrivateKeyOp
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptRsa.c:282,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:282,5'
              BranchSideFuncs:
                - RsaPrivateKeyOp
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:283,5'
              BranchSideFuncs:
                - RsaPrivateKeyOp
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptRsa.c:283,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:283,5'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:284,5'
              BranchSideFuncs:
                - BnTo2B
        - Branch String:   'tpm/src/crypt/CryptRsa.c:284,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:284,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:285,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:264,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:264,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptRsa.c:265,5'
          Dst:             RsaInitializeExponent
        - Src:             'tpm/src/crypt/CryptRsa.c:266,8'
          Dst:             UnsignedCompareB
        - Src:             'tpm/src/crypt/CryptRsa.c:278,12'
          Dst:             CryptRsaLoadPrivateExponent
        - Src:             'tpm/src/crypt/CryptRsa.c:282,5'
          Dst:             UnpackExponent
        - Src:             'tpm/src/crypt/CryptRsa.c:283,5'
          Dst:             RsaPrivateKeyOp
        - Src:             'tpm/src/crypt/CryptRsa.c:284,5'
          Dst:             BnTo2B
    - functionName:    CryptRsaLoadPrivateExponent
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 997
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - publicArea
        - sensitive
      BBCount:         47
      ICount:          243
      EdgeCount:       58
      CyclomaticComplexity: 13
      functionsReached:
        - BnDiv
        - BnFrom2B
        - BnInit
        - BnSetWord
        - ComputePrivateExponent
        - CryptTestAlgorithm
        - PackExponent
        - RsaInitializeExponent
        - TestBit
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:960,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:962,13'
              BranchSideFuncs:
                - RsaInitializeExponent
                - BnInit
                - BnFrom2B
                - BnInit
                - BnInit
                - TestBit
                - BnSetWord
                - BnFrom2B
                - BnDiv
                - ComputePrivateExponent
                - PackExponent
                - BnSetWord
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:994,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:962,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:964,13'
              BranchSideFuncs:
                - RsaInitializeExponent
                - BnInit
                - BnFrom2B
                - BnInit
                - BnInit
                - TestBit
                - BnSetWord
                - BnFrom2B
                - BnDiv
                - ComputePrivateExponent
                - PackExponent
                - BnSetWord
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:990,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:969,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:969,13'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - BnSetWord
                - BnFrom2B
                - BnDiv
                - ComputePrivateExponent
                - PackExponent
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:971,13'
              BranchSideFuncs:
                - BnSetWord
                - BnFrom2B
                - BnDiv
                - ComputePrivateExponent
                - PackExponent
                - BnSetWord
        - Branch String:   'tpm/src/crypt/CryptRsa.c:971,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:971,13'
              BranchSideFuncs:
                - BnSetWord
                - BnFrom2B
                - BnDiv
                - ComputePrivateExponent
                - PackExponent
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:974,23'
              BranchSideFuncs:
                - BnSetWord
                - BnFrom2B
                - BnDiv
                - ComputePrivateExponent
                - PackExponent
                - BnSetWord
        - Branch String:   'tpm/src/crypt/CryptRsa.c:975,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:976,27'
              BranchSideFuncs:
                - BnSetWord
                - BnFrom2B
                - BnDiv
                - ComputePrivateExponent
                - PackExponent
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:978,13'
              BranchSideFuncs:
                - BnFrom2B
                - BnDiv
                - ComputePrivateExponent
                - PackExponent
        - Branch String:   'tpm/src/crypt/CryptRsa.c:978,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:978,13'
              BranchSideFuncs:
                - BnDiv
                - ComputePrivateExponent
                - PackExponent
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:983,13'
              BranchSideFuncs:
                - BnDiv
                - ComputePrivateExponent
                - PackExponent
        - Branch String:   'tpm/src/crypt/CryptRsa.c:983,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:983,13'
              BranchSideFuncs:
                - ComputePrivateExponent
                - PackExponent
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:984,13'
              BranchSideFuncs:
                - ComputePrivateExponent
                - PackExponent
        - Branch String:   'tpm/src/crypt/CryptRsa.c:984,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:984,13'
              BranchSideFuncs:
                - ComputePrivateExponent
                - PackExponent
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:986,13'
              BranchSideFuncs:
                - ComputePrivateExponent
                - PackExponent
        - Branch String:   'tpm/src/crypt/CryptRsa.c:986,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:986,13'
              BranchSideFuncs:
                - PackExponent
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:987,13'
              BranchSideFuncs:
                - PackExponent
        - Branch String:   'tpm/src/crypt/CryptRsa.c:987,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:987,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:988,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:990,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:990,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:964,13'
          Dst:             RsaInitializeExponent
        - Src:             'tpm/src/crypt/CryptRsa.c:965,13'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:965,13'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptRsa.c:966,13'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:967,13'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptRsa.c:969,13'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptRsa.c:969,13'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptRsa.c:974,13'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/CryptRsa.c:976,17'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/CryptRsa.c:978,13'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptRsa.c:983,13'
          Dst:             BnDiv
        - Src:             'tpm/src/crypt/CryptRsa.c:986,13'
          Dst:             ComputePrivateExponent
        - Src:             'tpm/src/crypt/CryptRsa.c:987,13'
          Dst:             PackExponent
    - functionName:    OaepDecode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 401
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dataOut
        - hashAlg
        - label
        - padded
      BBCount:         52
      ICount:          362
      EdgeCount:       63
      CyclomaticComplexity: 13
      functionsReached:
        - CryptHashBlock
        - CryptHashGetDigestSize
        - CryptMGF_KDF
        - TpmFail
        - memcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:413,52'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:413,56'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:414,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:413,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:414,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:417,18'
              BranchSideFuncs:
                - CryptMGF_KDF
                - TpmFail
                - CryptMGF_KDF
                - CryptHashBlock
                - memcmp
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:425,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:425,5'
              BranchSideFuncs:
                - CryptMGF_KDF
                - CryptHashBlock
                - memcmp
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:426,11'
              BranchSideFuncs:
                - CryptMGF_KDF
                - CryptHashBlock
                - memcmp
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:428,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:429,21'
              BranchSideFuncs:
                - CryptMGF_KDF
                - CryptHashBlock
                - memcmp
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:432,18'
              BranchSideFuncs:
                - CryptMGF_KDF
                - CryptHashBlock
                - memcmp
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:437,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:438,21'
              BranchSideFuncs:
                - CryptHashBlock
                - memcmp
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:442,24'
              BranchSideFuncs:
                - CryptHashBlock
                - memcmp
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:442,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:444,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:445,15'
              BranchSideFuncs:
                - memcmp
        - Branch String:   'tpm/src/crypt/CryptRsa.c:445,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:446,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:449,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:450,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:452,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:456,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:452,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:453,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:454,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:456,15'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:456,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:457,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:456,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:457,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:461,6'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:462,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:464,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:465,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:468,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:469,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:470,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:404,19'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptRsa.c:417,5'
          Dst:             CryptMGF_KDF
        - Src:             'tpm/src/crypt/CryptRsa.c:425,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:432,5'
          Dst:             CryptMGF_KDF
        - Src:             'tpm/src/crypt/CryptRsa.c:442,9'
          Dst:             CryptHashBlock
        - Src:             'tpm/src/crypt/CryptRsa.c:444,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:445,8'
          Dst:             memcmp
    - functionName:    RSAES_Decode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 525
      functionLinenumberEnd: 548
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - message
        - coded
      BBCount:         14
      ICount:          171
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:532,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:534,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:537,10'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:534,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:535,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:536,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:543,56'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:543,59'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:544,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:543,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:544,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:545,21'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptRsaDecrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1107
      functionLinenumberEnd: 1145
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dOut
        - cIn
        - key
        - scheme
        - label
      BBCount:         34
      ICount:          179
      EdgeCount:       39
      CyclomaticComplexity: 7
      functionsReached:
        - CryptTestAlgorithm
        - MemoryCopy2B
        - OaepDecode
        - RSADP
        - RSAES_Decode
        - TestBit
        - TpmFail
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1111,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1111,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - RSADP
                - OaepDecode
                - RSAES_Decode
                - MemoryCopy2B
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1111,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1111,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1111,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - RSADP
                - OaepDecode
                - RSAES_Decode
                - MemoryCopy2B
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1111,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1111,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1111,5'
              BranchSideFuncs:
                - TestBit
                - RSADP
                - OaepDecode
                - RSAES_Decode
                - MemoryCopy2B
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1114,8'
              BranchSideFuncs:
                - TestBit
                - RSADP
                - OaepDecode
                - RSAES_Decode
                - MemoryCopy2B
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1114,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1115,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1117,5'
              BranchSideFuncs:
                - TestBit
                - RSADP
                - OaepDecode
                - RSAES_Decode
                - MemoryCopy2B
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1117,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1117,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - RSADP
                - OaepDecode
                - RSAES_Decode
                - MemoryCopy2B
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1121,20'
              BranchSideFuncs:
                - RSADP
                - OaepDecode
                - RSAES_Decode
                - MemoryCopy2B
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1122,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1122,18'
              BranchSideFuncs:
                - OaepDecode
                - RSAES_Decode
                - MemoryCopy2B
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1125,16'
              BranchSideFuncs:
                - OaepDecode
                - RSAES_Decode
                - MemoryCopy2B
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1125,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1128,20'
              BranchSideFuncs:
                - MemoryCopy2B
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1133,39'
              BranchSideFuncs:
                - RSAES_Decode
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1136,37'
              BranchSideFuncs:
                - OaepDecode
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1139,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1128,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1129,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1130,30'
              BranchSideFuncs:
                - MemoryCopy2B
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:1111,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:1117,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptRsa.c:1117,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptRsa.c:1121,14'
          Dst:             RSADP
        - Src:             'tpm/src/crypt/CryptRsa.c:1130,17'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/CryptRsa.c:1133,26'
          Dst:             RSAES_Decode
        - Src:             'tpm/src/crypt/CryptRsa.c:1136,26'
          Dst:             OaepDecode
    - functionName:    OaepEncode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - padded
        - hashAlg
        - label
        - message
        - rand
      BBCount:         47
      ICount:          366
      EdgeCount:       56
      CyclomaticComplexity: 11
      functionsReached:
        - CryptHashBlock
        - CryptHashGetDigestSize
        - CryptMGF_KDF
        - CryptRandomGenerate
        - DRBG_Generate
        - MemorySet
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:316,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:316,5'
              BranchSideFuncs:
                - TpmFail
                - CryptHashBlock
                - MemorySet
                - CryptRandomGenerate
                - DRBG_Generate
                - CryptMGF_KDF
                - CryptMGF_KDF
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:316,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptRsa.c:316,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:316,5'
              BranchSideFuncs:
                - CryptHashBlock
                - MemorySet
                - CryptRandomGenerate
                - DRBG_Generate
                - CryptMGF_KDF
                - CryptMGF_KDF
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:320,8'
              BranchSideFuncs:
                - CryptHashBlock
                - MemorySet
                - CryptRandomGenerate
                - DRBG_Generate
                - CryptMGF_KDF
                - CryptMGF_KDF
        - Branch String:   'tpm/src/crypt/CryptRsa.c:320,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:321,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:325,8'
              BranchSideFuncs:
                - CryptHashBlock
                - MemorySet
                - CryptRandomGenerate
                - DRBG_Generate
                - CryptMGF_KDF
                - CryptMGF_KDF
        - Branch String:   'tpm/src/crypt/CryptRsa.c:325,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:326,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:329,8'
              BranchSideFuncs:
                - CryptHashBlock
                - MemorySet
                - CryptRandomGenerate
                - DRBG_Generate
                - CryptMGF_KDF
                - CryptMGF_KDF
        - Branch String:   'tpm/src/crypt/CryptRsa.c:329,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:330,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:334,11'
              BranchSideFuncs:
                - CryptHashBlock
                - MemorySet
                - CryptRandomGenerate
                - DRBG_Generate
                - CryptMGF_KDF
                - CryptMGF_KDF
        - Branch String:   'tpm/src/crypt/CryptRsa.c:335,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:336,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:339,14'
              BranchSideFuncs:
                - MemorySet
                - CryptRandomGenerate
                - DRBG_Generate
                - CryptMGF_KDF
                - CryptMGF_KDF
        - Branch String:   'tpm/src/crypt/CryptRsa.c:352,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:353,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:355,18'
              BranchSideFuncs:
                - CryptMGF_KDF
                - CryptMGF_KDF
        - Branch String:   'tpm/src/crypt/CryptRsa.c:359,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:360,21'
              BranchSideFuncs:
                - CryptMGF_KDF
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:361,11'
              BranchSideFuncs:
                - CryptMGF_KDF
        - Branch String:   'tpm/src/crypt/CryptRsa.c:364,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:366,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:368,11'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:370,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:371,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:373,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:310,19'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptRsa.c:316,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptRsa.c:335,8'
          Dst:             CryptHashBlock
        - Src:             'tpm/src/crypt/CryptRsa.c:340,5'
          Dst:             MemorySet
        - Src:             'tpm/src/crypt/CryptRsa.c:350,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/crypt/CryptRsa.c:351,5'
          Dst:             DRBG_Generate
        - Src:             'tpm/src/crypt/CryptRsa.c:355,5'
          Dst:             CryptMGF_KDF
        - Src:             'tpm/src/crypt/CryptRsa.c:364,8'
          Dst:             CryptMGF_KDF
    - functionName:    RSAES_PKCS1v1_5Encode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 482
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - padded
        - message
        - rand
      BBCount:         15
      ICount:          149
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - DRBG_Generate
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:485,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:486,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:488,13'
              BranchSideFuncs:
                - DRBG_Generate
        - Branch String:   'tpm/src/crypt/CryptRsa.c:497,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:498,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:501,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:505,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:507,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:512,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:507,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:508,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:511,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:496,5'
          Dst:             DRBG_Generate
    - functionName:    CryptRsaEncrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1030
      functionLinenumberEnd: 1085
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - cOut
        - dIn
        - key
        - scheme
        - label
        - rand
      BBCount:         34
      ICount:          234
      EdgeCount:       39
      CyclomaticComplexity: 7
      functionsReached:
        - CryptTestAlgorithm
        - MemoryCopy2B
        - OaepEncode
        - RSAEP
        - RSAES_PKCS1v1_5Encode
        - TestBit
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1036,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1038,33'
              BranchSideFuncs:
                - MemoryCopy2B
                - TestBit
                - OaepEncode
                - RSAEP
                - RSAES_PKCS1v1_5Encode
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1042,20'
              BranchSideFuncs:
                - TestBit
                - OaepEncode
                - RSAEP
                - RSAES_PKCS1v1_5Encode
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1043,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1043,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - OaepEncode
                - RSAEP
                - RSAES_PKCS1v1_5Encode
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1045,12'
              BranchSideFuncs:
                - OaepEncode
                - RSAEP
                - RSAES_PKCS1v1_5Encode
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1045,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1050,27'
              BranchSideFuncs:
                - RSAEP
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1069,45'
              BranchSideFuncs:
                - RSAES_PKCS1v1_5Encode
                - RSAEP
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1073,29'
              BranchSideFuncs:
                - OaepEncode
                - RSAEP
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1076,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1054,36'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1054,40'
              BranchSideFuncs:
                - RSAEP
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1054,13'
              BranchSideFuncs:
                - RSAEP
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1054,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1054,63'
              BranchSideFuncs:
                - RSAEP
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1056,22'
              BranchSideFuncs:
                - RSAEP
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1057,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1058,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1060,20'
              BranchSideFuncs:
                - RSAEP
        - Branch String:   'tpm/src/crypt/CryptRsa.c:1081,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1081,18'
              BranchSideFuncs:
                - RSAEP
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:1083,25'
              BranchSideFuncs:
                - RSAEP
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:1038,9'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/CryptRsa.c:1043,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptRsa.c:1043,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptRsa.c:1069,22'
          Dst:             RSAES_PKCS1v1_5Encode
        - Src:             'tpm/src/crypt/CryptRsa.c:1073,17'
          Dst:             OaepEncode
        - Src:             'tpm/src/crypt/CryptRsa.c:1083,18'
          Dst:             RSAEP
    - functionName:    CryptRsaSelectScheme
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 916
      functionLinenumberEnd: 949
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - rsaHandle
        - scheme
      BBCount:         14
      ICount:          99
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - HandleToObject
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptRsa.c:927,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:929,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:933,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptRsa.c:933,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:936,37'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptRsa.c:943,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptRsa.c:922,17'
          Dst:             HandleToObject
    - functionName:    CryptRsaStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 61
      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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 54
      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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - alg
        - toTest
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TestAlgorithm
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptSelfTest.c:195,14'
          Dst:             TestAlgorithm
    - functionName:    CryptInitializeToTest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptTestAlgorithm
        - MemoryCopy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:165,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:165,5'
              BranchSideFuncs:
                - MemoryCopy
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:165,5'
              BranchSideFuncs:
                - MemoryCopy
                - CryptTestAlgorithm
      Callsites:
        - Src:             'tpm/src/crypt/CryptSelfTest.c:168,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/crypt/CryptSelfTest.c:172,5'
          Dst:             CryptTestAlgorithm
    - functionName:    CryptIncrementalSelfTest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - toTest
        - toDoList
      BBCount:         35
      ICount:          178
      EdgeCount:       44
      CyclomaticComplexity: 11
      functionsReached:
        - CryptRunSelfTests
        - SetBit
        - TestBit
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:128,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:128,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - CryptRunSelfTests
                - TestBit
                - SetBit
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:128,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:128,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:128,5'
              BranchSideFuncs:
                - TestBit
                - CryptRunSelfTests
                - TestBit
                - SetBit
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:129,8'
              BranchSideFuncs:
                - TestBit
                - CryptRunSelfTests
                - TestBit
                - SetBit
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:129,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:132,15'
              BranchSideFuncs:
                - CryptRunSelfTests
                - TestBit
                - TestBit
                - SetBit
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:146,5'
              BranchSideFuncs:
                - TestBit
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:132,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:134,19'
              BranchSideFuncs:
                - TestBit
                - SetBit
                - CryptRunSelfTests
                - TestBit
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:142,12'
              BranchSideFuncs:
                - CryptRunSelfTests
                - TestBit
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:137,37'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:137,41'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:138,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:137,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:138,17'
              BranchSideFuncs:
                - SetBit
                - CryptRunSelfTests
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:139,13'
              BranchSideFuncs:
                - SetBit
                - CryptRunSelfTests
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:142,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:143,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:144,5'
              BranchSideFuncs:
                - TestBit
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:149,45'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:148,5'
              BranchSideFuncs:
                - TestBit
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:149,48'
              BranchSideFuncs:
                - TestBit
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:148,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:152,12'
              BranchSideFuncs:
                - TestBit
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:155,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:152,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:153,55'
              BranchSideFuncs:
                - TestBit
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:154,5'
              BranchSideFuncs:
                - TestBit
      Callsites:
        - Src:             'tpm/src/crypt/CryptSelfTest.c:128,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptSelfTest.c:137,41'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptSelfTest.c:139,13'
          Dst:             SetBit
        - Src:             'tpm/src/crypt/CryptSelfTest.c:142,12'
          Dst:             CryptRunSelfTests
        - Src:             'tpm/src/crypt/CryptSelfTest.c:152,12'
          Dst:             TestBit
    - functionName:    CryptRunSelfTests
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - toTest
      BBCount:         13
      ICount:          69
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - CryptTestAlgorithm
        - TestBit
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:63,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:65,12'
              BranchSideFuncs:
                - TestBit
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:72,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:65,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:67,48'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - TestBit
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:71,5'
              BranchSideFuncs:
                - TestBit
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:68,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:69,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:70,9'
              BranchSideFuncs:
                - TestBit
                - CryptTestAlgorithm
      Callsites:
        - Src:             'tpm/src/crypt/CryptSelfTest.c:65,12'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptSelfTest.c:67,29'
          Dst:             CryptTestAlgorithm
    - functionName:    CryptSelfTest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - fullTest
      BBCount:         8
      ICount:          38
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - CryptRunSelfTests
        - MemoryCopy
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:94,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:95,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:100,8'
              BranchSideFuncs:
                - CryptRunSelfTests
                - MemoryCopy
        - Branch String:   'tpm/src/crypt/CryptSelfTest.c:100,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:100,8'
              BranchSideFuncs:
                - MemoryCopy
                - CryptRunSelfTests
            - BranchSide:      'tpm/src/crypt/CryptSelfTest.c:102,9'
              BranchSideFuncs:
                - MemoryCopy
                - CryptRunSelfTests
      Callsites:
        - Src:             'tpm/src/crypt/CryptSelfTest.c:95,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptSelfTest.c:102,9'
          Dst:             MemoryCopy
        - Src:             'tpm/src/crypt/CryptSelfTest.c:104,12'
          Dst:             CryptRunSelfTests
    - functionName:    CryptMacEnd2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - data
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptMacEnd
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptSmac.c:119,12'
          Dst:             CryptMacEnd
    - functionName:    CryptMacEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - size
        - buffer
      BBCount:         9
      ICount:          78
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptHmacEnd
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSmac.c:105,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSmac.c:106,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSmac.c:108,13'
              BranchSideFuncs:
                - CryptHmacEnd
      Callsites:
        - Src:             'tpm/src/crypt/CryptSmac.c:109,18'
          Dst:             CryptHmacEnd
    - functionName:    CryptMacStart
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - keyParameters
        - macAlg
        - key
      BBCount:         8
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CryptHashIsValidAlg
        - CryptHmacStart
        - CryptSmacIsValidAlg
        - CryptSmacStart
        - MemorySet
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSmac.c:87,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSmac.c:89,31'
              BranchSideFuncs:
                - CryptHmacStart
            - BranchSide:      'tpm/src/crypt/CryptSmac.c:91,33'
              BranchSideFuncs:
                - CryptSmacIsValidAlg
                - CryptSmacStart
        - Branch String:   'tpm/src/crypt/CryptSmac.c:91,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSmac.c:93,32'
              BranchSideFuncs:
                - CryptSmacStart
            - BranchSide:      'tpm/src/crypt/CryptSmac.c:96,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptSmac.c:86,5'
          Dst:             MemorySet
        - Src:             'tpm/src/crypt/CryptSmac.c:87,8'
          Dst:             CryptHashIsValidAlg
        - Src:             'tpm/src/crypt/CryptSmac.c:89,16'
          Dst:             CryptHmacStart
        - Src:             'tpm/src/crypt/CryptSmac.c:91,13'
          Dst:             CryptSmacIsValidAlg
        - Src:             'tpm/src/crypt/CryptSmac.c:93,16'
          Dst:             CryptSmacStart
    - functionName:    CryptSmacStart
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - keyParameters
        - macAlg
        - key
      BBCount:         9
      ICount:          76
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - CryptCmacStart
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSmac.c:59,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSmac.c:59,8'
              BranchSideFuncs:
                - CryptCmacStart
            - BranchSide:      'tpm/src/crypt/CryptSmac.c:61,16'
              BranchSideFuncs:
                - CryptCmacStart
        - Branch String:   'tpm/src/crypt/CryptSmac.c:61,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSmac.c:66,37'
              BranchSideFuncs:
                - CryptCmacStart
            - BranchSide:      'tpm/src/crypt/CryptSmac.c:70,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptSmac.c:66,21'
          Dst:             CryptCmacStart
    - functionName:    CryptSymKeyValidate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 458
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - symDef
        - key
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSym.c:459,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:460,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:465,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptSymmetricDecrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
        - 'N/A'
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - dOut
        - algorithm
        - keySizeInBits
        - key
        - ivInOut
        - mode
        - dSize
        - dIn
      BBCount:         110
      ICount:          665
      EdgeCount:       130
      CyclomaticComplexity: 22
      functionsReached:
        - AES_set_decrypt_key
        - AES_set_encrypt_key
        - CryptGetSymmetricBlockSize
        - CryptTestAlgorithm
        - TestBit
        - TpmFail
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSym.c:310,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:310,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptSym.c:310,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptSym.c:310,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:310,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptSym.c:310,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptSym.c:310,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:310,5'
              BranchSideFuncs:
                - TestBit
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptSym.c:311,8'
              BranchSideFuncs:
                - TestBit
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptSym.c:311,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:312,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:314,5'
              BranchSideFuncs:
                - TestBit
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptSym.c:314,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:314,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:315,44'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
        - Branch String:   'tpm/src/crypt/CryptSym.c:316,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:317,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:321,9'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
        - Branch String:   'tpm/src/crypt/CryptSym.c:321,26'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:321,30'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:327,14'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
        - Branch String:   'tpm/src/crypt/CryptSym.c:321,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:323,27'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:327,14'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_decrypt_key
                - Camellia_set_key
                - AES_set_encrypt_key
        - Branch String:   'tpm/src/crypt/CryptSym.c:333,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:340,17'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_decrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:340,17'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_decrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:352,20'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_encrypt_key
        - Branch String:   'tpm/src/crypt/CryptSym.c:340,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:341,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:342,20'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_decrypt_key
        - Branch String:   'tpm/src/crypt/CryptSym.c:342,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:344,17'
              BranchSideFuncs:
                - AES_set_decrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:344,17'
              BranchSideFuncs:
                - Camellia_set_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:346,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:352,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:354,17'
              BranchSideFuncs:
                - AES_set_encrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:354,17'
              BranchSideFuncs:
                - Camellia_set_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:356,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:360,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:366,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:383,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:404,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:422,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:433,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:446,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:366,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:368,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:380,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:369,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:370,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:371,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:374,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:376,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:379,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:383,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:386,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:398,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:389,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:389,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:389,55'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:389,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:392,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:393,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:398,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:399,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:401,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:404,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:407,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:418,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:410,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:411,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:414,22'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:411,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:411,40'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:412,25'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:415,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:415,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:415,55'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:415,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:416,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:417,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:422,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:424,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:428,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:433,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:436,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:443,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:440,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:440,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:440,55'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:440,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:441,36'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:442,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptSym.c:310,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptSym.c:314,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptSym.c:314,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptSym.c:315,17'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'tpm/src/crypt/CryptSym.c:344,17'
          Dst:             AES_set_decrypt_key
        - Src:             'tpm/src/crypt/CryptSym.c:344,17'
          Dst:             Camellia_set_key
        - Src:             'tpm/src/crypt/CryptSym.c:354,17'
          Dst:             AES_set_encrypt_key
        - Src:             'tpm/src/crypt/CryptSym.c:354,17'
          Dst:             Camellia_set_key
    - functionName:    CryptGetSymmetricBlockSize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - short
      constantsTouched: []
      argNames:
        - symmetricAlg
        - keySizeInBits
      BBCount:         18
      ICount:          106
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    10
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSym.c:90,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:97,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:97,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:100,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:103,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:105,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:110,14'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:105,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:106,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:107,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:110,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:111,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:113,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:113,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:113,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:117,12'
              BranchSideFuncs: []
      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:    Camellia_set_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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Camellia_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:    Camellia_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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptSymmetricEncrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
        - 'N/A'
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - dOut
        - algorithm
        - keySizeInBits
        - key
        - ivInOut
        - mode
        - dSize
        - dIn
      BBCount:         103
      ICount:          617
      EdgeCount:       126
      CyclomaticComplexity: 25
      functionsReached:
        - AES_set_encrypt_key
        - CryptGetSymmetricBlockSize
        - CryptTestAlgorithm
        - TestBit
        - TpmFail
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptSym.c:149,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:149,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_encrypt_key
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptSym.c:149,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptSym.c:149,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:149,5'
              BranchSideFuncs:
                - TpmFail
                - TestBit
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_encrypt_key
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptSym.c:149,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptSym.c:149,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:149,5'
              BranchSideFuncs:
                - TestBit
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_encrypt_key
                - CryptTestAlgorithm
            - BranchSide:      'tpm/src/crypt/CryptSym.c:150,8'
              BranchSideFuncs:
                - TestBit
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_encrypt_key
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptSym.c:150,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:151,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:153,5'
              BranchSideFuncs:
                - TestBit
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_encrypt_key
                - CryptTestAlgorithm
        - Branch String:   'tpm/src/crypt/CryptSym.c:153,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:153,5'
              BranchSideFuncs:
                - CryptTestAlgorithm
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_encrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:154,44'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - Camellia_set_key
                - AES_set_encrypt_key
        - Branch String:   'tpm/src/crypt/CryptSym.c:155,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:156,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:160,9'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_encrypt_key
        - Branch String:   'tpm/src/crypt/CryptSym.c:160,26'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:160,30'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_encrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:166,14'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_encrypt_key
        - Branch String:   'tpm/src/crypt/CryptSym.c:160,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:162,27'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_encrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:166,14'
              BranchSideFuncs:
                - Camellia_set_key
                - AES_set_encrypt_key
        - Branch String:   'tpm/src/crypt/CryptSym.c:170,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:172,9'
              BranchSideFuncs:
                - AES_set_encrypt_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:172,9'
              BranchSideFuncs:
                - Camellia_set_key
            - BranchSide:      'tpm/src/crypt/CryptSym.c:175,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:177,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:181,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:200,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:216,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:235,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:256,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:268,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:181,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:184,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:195,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:187,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:188,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:191,22'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:188,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:188,40'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:189,25'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:192,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:192,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:192,55'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:192,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:193,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:194,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:200,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:203,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:210,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:207,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:207,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:207,55'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:207,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:208,36'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:209,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:216,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:217,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:220,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:220,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:222,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:230,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:223,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:224,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:225,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:227,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:228,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:229,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:235,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:238,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:249,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:240,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:240,52'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:240,60'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:240,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:243,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:244,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:249,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:250,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:251,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:256,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:257,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:259,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptSym.c:259,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptSym.c:261,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptSym.c:265,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptSym.c:149,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptSym.c:153,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/CryptSym.c:153,5'
          Dst:             CryptTestAlgorithm
        - Src:             'tpm/src/crypt/CryptSym.c:154,17'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'tpm/src/crypt/CryptSym.c:172,9'
          Dst:             AES_set_encrypt_key
        - Src:             'tpm/src/crypt/CryptSym.c:172,9'
          Dst:             Camellia_set_key
    - functionName:    CryptSymStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 66
      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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 59
      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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1891
      functionLinenumberEnd: 1917
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - mode
        - flag
      BBCount:         11
      ICount:          51
      EdgeCount:       20
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1892,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1909,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1909,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1909,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1909,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1909,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1911,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1914,13'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptSmacIsValidAlg
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1870
      functionLinenumberEnd: 1884
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - alg
        - FLAG
      BBCount:         5
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1871,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1875,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1879,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1882,13'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptMacIsValidForKey
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1849
      functionLinenumberEnd: 1862
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - short
        - int
      constantsTouched: []
      argNames:
        - keyType
        - macAlg
        - flag
      BBCount:         8
      ICount:          49
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - CryptHashIsValidAlg
        - CryptSmacIsValidAlg
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1850,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1853,40'
              BranchSideFuncs:
                - CryptHashIsValidAlg
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1856,40'
              BranchSideFuncs:
                - CryptSmacIsValidAlg
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1859,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:1853,20'
          Dst:             CryptHashIsValidAlg
        - Src:             'tpm/src/crypt/CryptUtil.c:1856,20'
          Dst:             CryptSmacIsValidAlg
    - functionName:    CryptSelectMac
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1799
      functionLinenumberEnd: 1844
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - publicArea
        - inMac
      BBCount:         26
      ICount:          156
      EdgeCount:       32
      CyclomaticComplexity: 8
      functionsReached:
        - CryptMacIsValidForKey
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1801,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1807,23'
              BranchSideFuncs:
                - CryptMacIsValidForKey
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1816,23'
              BranchSideFuncs:
                - CryptMacIsValidForKey
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1823,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1809,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1810,26'
              BranchSideFuncs:
                - CryptMacIsValidForKey
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1811,13'
              BranchSideFuncs:
                - CryptMacIsValidForKey
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1818,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1819,26'
              BranchSideFuncs:
                - CryptMacIsValidForKey
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1820,13'
              BranchSideFuncs:
                - CryptMacIsValidForKey
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1826,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1830,13'
              BranchSideFuncs:
                - CryptMacIsValidForKey
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1837,12'
              BranchSideFuncs:
                - CryptMacIsValidForKey
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1830,37'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1830,42'
              BranchSideFuncs:
                - CryptMacIsValidForKey
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1832,5'
              BranchSideFuncs:
                - CryptMacIsValidForKey
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1830,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1831,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1832,5'
              BranchSideFuncs:
                - CryptMacIsValidForKey
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1837,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1838,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1839,18'
              BranchSideFuncs:
                - CryptMacIsValidForKey
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1841,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1842,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1843,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:1841,9'
          Dst:             CryptMacIsValidForKey
    - functionName:    CryptValidateKeys
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1610
      functionLinenumberEnd: 1788
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - publicArea
        - sensitive
        - blamePublic
        - blameSensitive
      BBCount:         104
      ICount:          639
      EdgeCount:       141
      CyclomaticComplexity: 39
      functionsReached:
        - AdjustNumberB
        - CryptComputeSymmetricUnique
        - CryptEccGetKeySizeForCurve
        - CryptEccIsPointOnCurve
        - CryptEccIsValidPrivateKey
        - CryptEccPointMultiply
        - CryptHashGetBlockSize
        - CryptHashGetDigestSize
        - CryptSymKeyValidate
        - MemoryEqual2B
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1617,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1620,12'
              BranchSideFuncs:
                - CryptEccGetKeySizeForCurve
                - CryptEccIsValidPrivateKey
                - CryptEccPointMultiply
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
                - CryptEccIsPointOnCurve
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
                - CryptHashGetBlockSize
                - CryptHashGetBlockSize
                - CryptSymKeyValidate
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1629,12'
              BranchSideFuncs:
                - CryptEccGetKeySizeForCurve
                - CryptEccIsValidPrivateKey
                - CryptEccPointMultiply
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
                - CryptEccIsPointOnCurve
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
                - CryptHashGetBlockSize
                - CryptHashGetBlockSize
                - CryptSymKeyValidate
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1620,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1621,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1626,13'
              BranchSideFuncs:
                - CryptEccGetKeySizeForCurve
                - CryptEccIsValidPrivateKey
                - CryptEccPointMultiply
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
                - CryptEccIsPointOnCurve
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
                - CryptHashGetBlockSize
                - CryptHashGetBlockSize
                - CryptSymKeyValidate
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1626,55'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1626,59'
              BranchSideFuncs:
                - CryptEccGetKeySizeForCurve
                - CryptEccIsValidPrivateKey
                - CryptEccPointMultiply
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
                - CryptEccIsPointOnCurve
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
                - CryptHashGetBlockSize
                - CryptHashGetBlockSize
                - CryptSymKeyValidate
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1628,5'
              BranchSideFuncs:
                - CryptEccGetKeySizeForCurve
                - CryptEccIsValidPrivateKey
                - CryptEccPointMultiply
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
                - CryptEccIsPointOnCurve
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
                - CryptHashGetBlockSize
                - CryptHashGetBlockSize
                - CryptSymKeyValidate
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1626,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1627,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1628,5'
              BranchSideFuncs:
                - CryptEccGetKeySizeForCurve
                - CryptEccIsValidPrivateKey
                - CryptEccPointMultiply
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
                - CryptEccIsPointOnCurve
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
                - CryptHashGetBlockSize
                - CryptHashGetBlockSize
                - CryptSymKeyValidate
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1629,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1633,30'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1661,30'
              BranchSideFuncs:
                - CryptEccGetKeySizeForCurve
                - CryptEccIsValidPrivateKey
                - CryptEccPointMultiply
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
                - CryptEccIsPointOnCurve
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1719,16'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
                - CryptHashGetBlockSize
                - CryptHashGetBlockSize
                - CryptSymKeyValidate
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1643,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1643,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1644,38'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1642,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1644,38'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1645,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1645,48'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1645,51'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1647,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1645,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1646,40'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1647,16'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1647,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1651,22'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1655,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1652,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1652,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1653,47'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1651,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1653,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1654,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1663,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1666,20'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1679,48'
              BranchSideFuncs:
                - CryptEccIsValidPrivateKey
                - CryptEccPointMultiply
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1667,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1667,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1668,42'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1666,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1668,42'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1669,20'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1669,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1671,48'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1674,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1671,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1672,52'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1673,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1679,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1680,21'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1681,20'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1692,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1693,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1701,50'
              BranchSideFuncs:
                - AdjustNumberB
                - AdjustNumberB
                - MemoryEqual2B
                - MemoryEqual2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1704,28'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1704,47'
              BranchSideFuncs:
                - MemoryEqual2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1705,29'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1719,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1721,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1727,20'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
                - CryptHashGetBlockSize
                - CryptHashGetBlockSize
                - CryptSymKeyValidate
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1721,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1722,42'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1723,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1727,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1729,51'
              BranchSideFuncs:
                - CryptSymKeyValidate
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1744,31'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
                - CryptHashGetBlockSize
                - CryptHashGetBlockSize
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1731,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1732,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1733,17'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1745,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1747,57'
              BranchSideFuncs:
                - CryptHashGetBlockSize
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1749,29'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
                - CryptHashGetBlockSize
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1749,29'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1751,57'
              BranchSideFuncs:
                - CryptHashGetBlockSize
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1753,29'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1753,29'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1756,33'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1759,49'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1760,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1761,51'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1767,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1768,51'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1770,49'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - MemoryEqual2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1771,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1772,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1773,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1780,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1780,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1787,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1781,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1781,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1787,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1781,29'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1781,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1787,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1779,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1783,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1787,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1784,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1784,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1785,35'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1783,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1785,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1786,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:1613,37'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptUtil.c:1662,30'
          Dst:             CryptEccGetKeySizeForCurve
        - Src:             'tpm/src/crypt/CryptUtil.c:1671,25'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'tpm/src/crypt/CryptUtil.c:1679,21'
          Dst:             CryptEccIsValidPrivateKey
        - Src:             'tpm/src/crypt/CryptUtil.c:1686,30'
          Dst:             CryptEccPointMultiply
        - Src:             'tpm/src/crypt/CryptUtil.c:1701,25'
          Dst:             AdjustNumberB
        - Src:             'tpm/src/crypt/CryptUtil.c:1702,25'
          Dst:             AdjustNumberB
        - Src:             'tpm/src/crypt/CryptUtil.c:1703,29'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/crypt/CryptUtil.c:1704,32'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/crypt/CryptUtil.c:1729,30'
          Dst:             CryptSymKeyValidate
        - Src:             'tpm/src/crypt/CryptUtil.c:1747,35'
          Dst:             CryptHashGetBlockSize
        - Src:             'tpm/src/crypt/CryptUtil.c:1751,35'
          Dst:             CryptHashGetBlockSize
        - Src:             'tpm/src/crypt/CryptUtil.c:1770,21'
          Dst:             CryptComputeSymmetricUnique
        - Src:             'tpm/src/crypt/CryptUtil.c:1771,25'
          Dst:             MemoryEqual2B
    - functionName:    CryptComputeSymmetricUnique
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1014
      functionLinenumberEnd: 1036
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - publicArea
        - sensitive
        - unique
      BBCount:         9
      ICount:          81
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
        - CryptHmacEnd2B
        - CryptHmacStart2B
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1018,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1018,11'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptHmacStart2B
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1031,53'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1017,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1021,20'
              BranchSideFuncs:
                - CryptHmacStart2B
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1031,53'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:1022,26'
          Dst:             CryptHmacStart2B
        - Src:             'tpm/src/crypt/CryptUtil.c:1024,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptUtil.c:1025,9'
          Dst:             CryptHmacEnd2B
        - Src:             'tpm/src/crypt/CryptUtil.c:1031,26'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptUtil.c:1032,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptUtil.c:1033,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptUtil.c:1034,9'
          Dst:             CryptHashEnd2B
    - functionName:    CryptGetTestResult
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1583
      functionLinenumberEnd: 1585
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - outData
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptHMACVerifySignature
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signKey
        - hashData
        - signature
      BBCount:         19
      ICount:          145
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - CryptHashGetDigestSize
        - CryptHmacSign
        - MemoryEqual
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:89,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:89,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:90,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:88,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:90,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:96,9'
              BranchSideFuncs:
                - CryptHmacSign
                - CryptHashGetDigestSize
                - MemoryEqual
        - Branch String:   'tpm/src/crypt/CryptUtil.c:97,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:97,13'
              BranchSideFuncs:
                - CryptHmacSign
                - CryptHashGetDigestSize
                - MemoryEqual
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:100,35'
              BranchSideFuncs:
                - CryptHmacSign
                - CryptHashGetDigestSize
                - MemoryEqual
        - Branch String:   'tpm/src/crypt/CryptUtil.c:98,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:98,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:99,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:96,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:99,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:100,35'
              BranchSideFuncs:
                - CryptHmacSign
                - CryptHashGetDigestSize
                - MemoryEqual
        - Branch String:   'tpm/src/crypt/CryptUtil.c:106,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:109,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:111,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:103,5'
          Dst:             CryptHmacSign
        - Src:             'tpm/src/crypt/CryptUtil.c:108,21'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptUtil.c:106,9'
          Dst:             MemoryEqual
    - functionName:    CryptHmacSign
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signature
        - signKey
        - hashData
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHmacEnd
        - CryptHmacStart2B
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:62,18'
          Dst:             CryptHmacStart2B
        - Src:             'tpm/src/crypt/CryptUtil.c:65,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptUtil.c:66,5'
          Dst:             CryptHmacEnd
    - functionName:    CryptValidateSignature
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1530
      functionLinenumberEnd: 1572
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - keyHandle
        - digest
        - signature
      BBCount:         14
      ICount:          101
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccValidateSignature
        - CryptHMACVerifySignature
        - CryptRsaValidateSignature
        - HandleToObject
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1541,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1542,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1544,12'
              BranchSideFuncs:
                - CryptHMACVerifySignature
                - CryptEccValidateSignature
                - CryptRsaValidateSignature
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1544,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1551,48'
              BranchSideFuncs:
                - CryptRsaValidateSignature
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1558,48'
              BranchSideFuncs:
                - CryptEccValidateSignature
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1563,16'
              BranchSideFuncs:
                - CryptHMACVerifySignature
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1569,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1563,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1564,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1566,51'
              BranchSideFuncs:
                - CryptHMACVerifySignature
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:1535,31'
          Dst:             HandleToObject
        - Src:             'tpm/src/crypt/CryptUtil.c:1551,22'
          Dst:             CryptRsaValidateSignature
        - Src:             'tpm/src/crypt/CryptUtil.c:1558,22'
          Dst:             CryptEccValidateSignature
        - Src:             'tpm/src/crypt/CryptUtil.c:1566,26'
          Dst:             CryptHMACVerifySignature
    - functionName:    CryptSign
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1468
      functionLinenumberEnd: 1509
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signKey
        - signScheme
        - digest
        - signature
      BBCount:         14
      ICount:          106
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - CryptEccSign
        - CryptHmacSign
        - CryptRsaSign
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1476,44'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1476,48'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1477,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1476,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1477,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1482,40'
              BranchSideFuncs:
                - CryptHmacSign
                - CryptEccSign
                - CryptRsaSign
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1485,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1489,35'
              BranchSideFuncs:
                - CryptRsaSign
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1498,17'
              BranchSideFuncs:
                - CryptEccSign
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1502,36'
              BranchSideFuncs:
                - CryptHmacSign
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1505,13'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:1489,22'
          Dst:             CryptRsaSign
        - Src:             'tpm/src/crypt/CryptUtil.c:1497,22'
          Dst:             CryptEccSign
        - Src:             'tpm/src/crypt/CryptUtil.c:1502,22'
          Dst:             CryptHmacSign
        - Src:             'tpm/src/crypt/CryptUtil.c:1505,13'
          Dst:             TpmFail
    - functionName:    CryptSelectSignScheme
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1377
      functionLinenumberEnd: 1444
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signObject
        - scheme
      BBCount:         24
      ICount:          169
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - CryptIsAsymAlgorithm
        - CryptIsSplitSign
      functionUses:    9
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1384,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1386,37'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1393,23'
              BranchSideFuncs:
                - CryptIsAsymAlgorithm
                - CryptIsSplitSign
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1397,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1398,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1400,33'
              BranchSideFuncs:
                - CryptIsAsymAlgorithm
                - CryptIsSplitSign
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1400,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1402,36'
              BranchSideFuncs:
                - CryptIsSplitSign
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1405,36'
              BranchSideFuncs:
                - CryptIsSplitSign
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1409,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1412,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1416,17'
              BranchSideFuncs:
                - CryptIsSplitSign
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1416,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1422,36'
              BranchSideFuncs:
                - CryptIsSplitSign
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1439,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1423,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1428,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1430,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:1400,12'
          Dst:             CryptIsAsymAlgorithm
        - Src:             'tpm/src/crypt/CryptUtil.c:1422,19'
          Dst:             CryptIsSplitSign
    - functionName:    CryptIsAsymAlgorithm
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 522
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - algID
      BBCount:         7
      ICount:          30
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:508,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:516,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:516,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:519,13'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptIsSplitSign
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1231
      functionLinenumberEnd: 1243
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - scheme
      BBCount:         4
      ICount:          24
      EdgeCount:       6
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1232,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1236,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1240,13'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptIsAsymDecryptScheme
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1307
      functionLinenumberEnd: 1352
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - short
      constantsTouched: []
      argNames:
        - publicType
        - scheme
      BBCount:         13
      ICount:          59
      EdgeCount:       22
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1310,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1314,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1329,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1349,29'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1314,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1318,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1318,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1320,37'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1329,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1341,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1343,37'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptIsAsymSignScheme
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1250
      functionLinenumberEnd: 1299
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - short
      constantsTouched: []
      argNames:
        - publicType
        - scheme
      BBCount:         16
      ICount:          68
      EdgeCount:       28
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1253,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1257,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1275,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1296,26'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1257,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1264,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1264,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1266,34'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1275,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1288,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1288,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1288,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1290,34'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptGetSignHashAlg
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1173
      functionLinenumberEnd: 1223
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - auth
      BBCount:         15
      ICount:          86
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1174,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1175,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1178,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1178,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1186,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1188,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1206,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1206,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1211,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1217,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1220,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:1175,9'
          Dst:             TpmFail
    - functionName:    CryptGenerateKeyedHash
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - publicArea
        - sensitive
        - sensitiveCreate
        - rand
      BBCount:         25
      ICount:          186
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - CryptHashGetBlockSize
        - CryptHashGetDigestSize
        - DRBG_Generate
        - MemoryCopy2B
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:134,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:135,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:138,8'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - DRBG_Generate
                - MemoryCopy2B
                - CryptHashGetBlockSize
        - Branch String:   'tpm/src/crypt/CryptUtil.c:138,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:139,19'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - DRBG_Generate
                - MemoryCopy2B
                - CryptHashGetBlockSize
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:140,13'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - DRBG_Generate
                - MemoryCopy2B
                - CryptHashGetBlockSize
        - Branch String:   'tpm/src/crypt/CryptUtil.c:140,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:141,19'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - DRBG_Generate
                - MemoryCopy2B
                - CryptHashGetBlockSize
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:143,19'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - DRBG_Generate
                - MemoryCopy2B
                - CryptHashGetBlockSize
        - Branch String:   'tpm/src/crypt/CryptUtil.c:152,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:154,12'
              BranchSideFuncs:
                - MemoryCopy2B
                - CryptHashGetBlockSize
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:175,27'
              BranchSideFuncs:
                - DRBG_Generate
        - Branch String:   'tpm/src/crypt/CryptUtil.c:155,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:155,15'
              BranchSideFuncs:
                - CryptHashGetBlockSize
                - MemoryCopy2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:157,16'
              BranchSideFuncs:
                - CryptHashGetBlockSize
                - MemoryCopy2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:154,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:157,16'
              BranchSideFuncs:
                - CryptHashGetBlockSize
                - MemoryCopy2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:166,23'
              BranchSideFuncs:
                - MemoryCopy2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:157,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:158,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:163,9'
              BranchSideFuncs:
                - MemoryCopy2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:176,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:177,21'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:144,18'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptUtil.c:157,47'
          Dst:             CryptHashGetBlockSize
        - Src:             'tpm/src/crypt/CryptUtil.c:166,9'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/CryptUtil.c:175,13'
          Dst:             DRBG_Generate
    - functionName:    CryptGenerateKeySymmetric
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - publicArea
        - sensitive
        - sensitiveCreate
        - rand
      BBCount:         18
      ICount:          126
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - CryptSymKeyValidate
        - DRBG_Generate
        - MemoryCopy2B
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:338,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:339,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:341,8'
              BranchSideFuncs:
                - DRBG_Generate
                - CryptSymKeyValidate
                - MemoryCopy2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:341,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:343,39'
              BranchSideFuncs:
                - CryptSymKeyValidate
                - MemoryCopy2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:359,13'
              BranchSideFuncs:
                - DRBG_Generate
        - Branch String:   'tpm/src/crypt/CryptUtil.c:345,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:346,27'
              BranchSideFuncs:
                - MemoryCopy2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:349,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:360,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:361,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:362,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:362,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:363,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:365,20'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:343,18'
          Dst:             CryptSymKeyValidate
        - Src:             'tpm/src/crypt/CryptUtil.c:346,13'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/CryptUtil.c:358,43'
          Dst:             DRBG_Generate
    - functionName:    CryptCreateObject
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1081
      functionLinenumberEnd: 1164
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
        - sensitiveCreate
        - rand
      BBCount:         37
      ICount:          260
      EdgeCount:       45
      CyclomaticComplexity: 10
      functionsReached:
        - CryptComputeSymmetricUnique
        - CryptEccGenerateKey
        - CryptGenerateKeySymmetric
        - CryptGenerateKeyedHash
        - CryptHashGetDigestSize
        - CryptRsaGenerateKey
        - DRBG_AdditionalData
        - DRBG_Generate
        - PublicMarshalAndComputeName
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1094,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1095,9'
              BranchSideFuncs:
                - CryptGenerateKeyedHash
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
                - DRBG_AdditionalData
                - DRBG_AdditionalData
                - CryptGenerateKeySymmetric
                - CryptEccGenerateKey
                - CryptRsaGenerateKey
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1099,12'
              BranchSideFuncs:
                - CryptGenerateKeyedHash
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
                - DRBG_AdditionalData
                - DRBG_AdditionalData
                - CryptGenerateKeySymmetric
                - CryptEccGenerateKey
                - CryptRsaGenerateKey
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1099,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1106,42'
              BranchSideFuncs:
                - CryptRsaGenerateKey
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
                - DRBG_AdditionalData
                - DRBG_AdditionalData
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1113,42'
              BranchSideFuncs:
                - CryptEccGenerateKey
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
                - DRBG_AdditionalData
                - DRBG_AdditionalData
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1118,17'
              BranchSideFuncs:
                - CryptGenerateKeySymmetric
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
                - DRBG_AdditionalData
                - DRBG_AdditionalData
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1122,40'
              BranchSideFuncs:
                - CryptGenerateKeyedHash
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
                - DRBG_AdditionalData
                - DRBG_AdditionalData
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1125,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1128,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1129,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1134,8'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
                - DRBG_AdditionalData
                - DRBG_AdditionalData
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1134,35'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1134,38'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
                - DRBG_AdditionalData
                - DRBG_AdditionalData
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1141,23'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1134,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1136,42'
              BranchSideFuncs:
                - DRBG_AdditionalData
                - DRBG_AdditionalData
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1141,23'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - DRBG_Generate
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1144,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1145,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1146,13'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - CryptComputeSymmetricUnique
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1149,46'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1149,49'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - PublicMarshalAndComputeName
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1151,37'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - PublicMarshalAndComputeName
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1149,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1151,37'
              BranchSideFuncs:
                - CryptComputeSymmetricUnique
                - PublicMarshalAndComputeName
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1157,12'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
        - Branch String:   'tpm/src/crypt/CryptUtil.c:1158,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1158,16'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:1159,21'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:1106,22'
          Dst:             CryptRsaGenerateKey
        - Src:             'tpm/src/crypt/CryptUtil.c:1113,22'
          Dst:             CryptEccGenerateKey
        - Src:             'tpm/src/crypt/CryptUtil.c:1117,22'
          Dst:             CryptGenerateKeySymmetric
        - Src:             'tpm/src/crypt/CryptUtil.c:1122,17'
          Dst:             CryptGenerateKeyedHash
        - Src:             'tpm/src/crypt/CryptUtil.c:1125,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptUtil.c:1136,9'
          Dst:             DRBG_AdditionalData
        - Src:             'tpm/src/crypt/CryptUtil.c:1137,9'
          Dst:             DRBG_AdditionalData
        - Src:             'tpm/src/crypt/CryptUtil.c:1143,23'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptUtil.c:1141,9'
          Dst:             DRBG_Generate
        - Src:             'tpm/src/crypt/CryptUtil.c:1151,9'
          Dst:             CryptComputeSymmetricUnique
        - Src:             'tpm/src/crypt/CryptUtil.c:1162,5'
          Dst:             PublicMarshalAndComputeName
    - functionName:    CryptParameterDecryption
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 946
      functionLinenumberEnd: 1005
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - int
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - nonceCaller
        - bufferSize
        - leadingSizeInByte
        - extraKey
        - buffer
      BBCount:         15
      ICount:          133
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - CryptXORObfuscation
        - MemoryConcat2B
        - MemoryCopy2B
        - ParmDecryptSym
        - SessionGet
        - TpmFail
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:956,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:958,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:962,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - MemoryCopy2B
                - MemoryConcat2B
                - ParmDecryptSym
                - CryptXORObfuscation
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:962,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:964,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:969,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - MemoryCopy2B
                - MemoryConcat2B
                - ParmDecryptSym
                - CryptXORObfuscation
        - Branch String:   'tpm/src/crypt/CryptUtil.c:969,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:971,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:974,8'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryConcat2B
                - ParmDecryptSym
                - CryptXORObfuscation
        - Branch String:   'tpm/src/crypt/CryptUtil.c:974,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:976,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:980,27'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryConcat2B
                - ParmDecryptSym
                - CryptXORObfuscation
        - Branch String:   'tpm/src/crypt/CryptUtil.c:983,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:987,29'
              BranchSideFuncs:
                - CryptXORObfuscation
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:995,24'
              BranchSideFuncs:
                - ParmDecryptSym
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:947,24'
          Dst:             SessionGet
        - Src:             'tpm/src/crypt/CryptUtil.c:964,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptUtil.c:969,8'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/crypt/CryptUtil.c:980,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/CryptUtil.c:981,5'
          Dst:             MemoryConcat2B
        - Src:             'tpm/src/crypt/CryptUtil.c:987,9'
          Dst:             CryptXORObfuscation
        - Src:             'tpm/src/crypt/CryptUtil.c:995,9'
          Dst:             ParmDecryptSym
    - functionName:    CryptXORObfuscation
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - hash
        - key
        - contextU
        - contextV
        - dataSize
        - data
      BBCount:         23
      ICount:          152
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - CryptHashGetDigestSize
        - CryptKDFa
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:390,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:390,5'
              BranchSideFuncs:
                - TpmFail
                - CryptKDFa
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:390,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:390,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:390,5'
              BranchSideFuncs:
                - TpmFail
                - CryptKDFa
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:390,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:390,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:390,5'
              BranchSideFuncs:
                - CryptKDFa
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:393,5'
              BranchSideFuncs:
                - CryptKDFa
        - Branch String:   'tpm/src/crypt/CryptUtil.c:393,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:396,19'
              BranchSideFuncs:
                - CryptKDFa
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:411,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:408,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:408,38'
              BranchSideFuncs:
                - CryptKDFa
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:408,45'
              BranchSideFuncs:
                - CryptKDFa
        - Branch String:   'tpm/src/crypt/CryptUtil.c:408,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:409,27'
              BranchSideFuncs:
                - CryptKDFa
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:410,5'
              BranchSideFuncs:
                - CryptKDFa
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:386,26'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptUtil.c:390,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptUtil.c:396,9'
          Dst:             CryptKDFa
    - functionName:    ParmDecryptSym
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - short
        - short
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - symAlg
        - hash
        - keySizeInBits
        - key
        - nonceCaller
        - nonceTpm
        - dataSize
        - data
      BBCount:         6
      ICount:          96
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptGetSymmetricBlockSize
        - CryptKDFa
        - CryptSymmetricDecrypt
        - MemoryCopy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:231,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:231,8'
              BranchSideFuncs:
                - CryptKDFa
                - MemoryCopy
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:234,19'
              BranchSideFuncs:
                - CryptKDFa
                - MemoryCopy
                - CryptSymmetricDecrypt
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:229,17'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'tpm/src/crypt/CryptUtil.c:234,9'
          Dst:             CryptKDFa
        - Src:             'tpm/src/crypt/CryptUtil.c:243,9'
          Dst:             MemoryCopy
        - Src:             'tpm/src/crypt/CryptUtil.c:245,9'
          Dst:             CryptSymmetricDecrypt
    - functionName:    CryptParameterEncryption
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 872
      functionLinenumberEnd: 928
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - int
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - handle
        - nonceCaller
        - bufferSize
        - leadingSizeInByte
        - extraKey
        - buffer
      BBCount:         14
      ICount:          129
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - CryptXORObfuscation
        - MemoryConcat2B
        - MemoryCopy2B
        - ParmEncryptSym
        - SessionGet
        - TpmFail
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:879,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:881,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:886,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - MemoryCopy2B
                - MemoryConcat2B
                - ParmEncryptSym
                - CryptXORObfuscation
                - TpmFail
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:886,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:888,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:893,8'
              BranchSideFuncs:
                - UINT16_Unmarshal
                - MemoryCopy2B
                - MemoryConcat2B
                - ParmEncryptSym
                - CryptXORObfuscation
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:893,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:895,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:899,8'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryConcat2B
                - ParmEncryptSym
                - CryptXORObfuscation
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:899,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:901,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:906,27'
              BranchSideFuncs:
                - MemoryCopy2B
                - MemoryConcat2B
                - ParmEncryptSym
                - CryptXORObfuscation
        - Branch String:   'tpm/src/crypt/CryptUtil.c:909,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:913,29'
              BranchSideFuncs:
                - CryptXORObfuscation
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:920,24'
              BranchSideFuncs:
                - ParmEncryptSym
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:873,24'
          Dst:             SessionGet
        - Src:             'tpm/src/crypt/CryptUtil.c:881,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptUtil.c:888,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptUtil.c:893,8'
          Dst:             UINT16_Unmarshal
        - Src:             'tpm/src/crypt/CryptUtil.c:895,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptUtil.c:901,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptUtil.c:906,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/CryptUtil.c:907,5'
          Dst:             MemoryConcat2B
        - Src:             'tpm/src/crypt/CryptUtil.c:913,9'
          Dst:             CryptXORObfuscation
        - Src:             'tpm/src/crypt/CryptUtil.c:920,9'
          Dst:             ParmEncryptSym
    - functionName:    ParmEncryptSym
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - short
        - short
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - symAlg
        - hash
        - keySizeInBits
        - key
        - nonceCaller
        - nonceTpm
        - dataSize
        - data
      BBCount:         6
      ICount:          96
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptGetSymmetricBlockSize
        - CryptKDFa
        - CryptSymmetricEncrypt
        - MemoryCopy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:292,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:292,8'
              BranchSideFuncs:
                - CryptKDFa
                - MemoryCopy
                - CryptSymmetricEncrypt
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:295,19'
              BranchSideFuncs:
                - CryptKDFa
                - MemoryCopy
                - CryptSymmetricEncrypt
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:290,17'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'tpm/src/crypt/CryptUtil.c:295,9'
          Dst:             CryptKDFa
        - Src:             'tpm/src/crypt/CryptUtil.c:304,9'
          Dst:             MemoryCopy
        - Src:             'tpm/src/crypt/CryptUtil.c:306,9'
          Dst:             CryptSymmetricEncrypt
    - functionName:    CryptSecretDecrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 683
      functionLinenumberEnd: 858
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - decryptKey
        - nonceCaller
        - label
        - secret
        - data
      BBCount:         44
      ICount:          412
      EdgeCount:       55
      CyclomaticComplexity: 13
      functionsReached:
        - CryptEccPointMultiply
        - CryptGetSymmetricBlockSize
        - CryptHashGetDigestSize
        - CryptKDFe
        - CryptRsaDecrypt
        - CryptSymmetricDecrypt
        - CryptXORObfuscation
        - MemoryCopy
        - MemoryCopy2B
        - TPMS_ECC_POINT_Unmarshal
        - TpmFail
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:687,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:694,18'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptRsaDecrypt
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:734,37'
              BranchSideFuncs:
                - TPMS_ECC_POINT_Unmarshal
                - CryptEccPointMultiply
                - CryptHashGetDigestSize
                - CryptKDFe
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:785,16'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptXORObfuscation
                - MemoryCopy2B
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:813,34'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptGetSymmetricBlockSize
                - MemoryCopy
                - CryptSymmetricDecrypt
                - MemoryCopy
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:854,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:700,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:703,24'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptRsaDecrypt
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:714,56'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptRsaDecrypt
        - Branch String:   'tpm/src/crypt/CryptUtil.c:715,46'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:715,49'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:716,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:715,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:716,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:719,13'
              BranchSideFuncs:
                - CryptRsaDecrypt
        - Branch String:   'tpm/src/crypt/CryptUtil.c:724,43'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:724,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:727,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:724,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:725,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:727,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:739,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:743,21'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - CryptHashGetDigestSize
                - CryptKDFe
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:778,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:748,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:753,48'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptKDFe
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:776,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:785,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:787,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:801,37'
              BranchSideFuncs:
                - CryptXORObfuscation
                - MemoryCopy2B
        - Branch String:   'tpm/src/crypt/CryptUtil.c:816,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:818,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:821,30'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - MemoryCopy
                - CryptSymmetricDecrypt
                - MemoryCopy
        - Branch String:   'tpm/src/crypt/CryptUtil.c:824,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:825,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:826,20'
              BranchSideFuncs:
                - MemoryCopy
                - CryptSymmetricDecrypt
                - MemoryCopy
        - Branch String:   'tpm/src/crypt/CryptUtil.c:826,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:828,37'
              BranchSideFuncs:
                - MemoryCopy
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:832,24'
              BranchSideFuncs:
                - MemoryCopy
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/crypt/CryptUtil.c:832,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:833,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:835,30'
              BranchSideFuncs:
                - MemoryCopy
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/crypt/CryptUtil.c:838,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:839,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:840,32'
              BranchSideFuncs:
                - CryptSymmetricDecrypt
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:714,26'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptUtil.c:723,17'
          Dst:             CryptRsaDecrypt
        - Src:             'tpm/src/crypt/CryptUtil.c:738,22'
          Dst:             TPMS_ECC_POINT_Unmarshal
        - Src:             'tpm/src/crypt/CryptUtil.c:741,26'
          Dst:             CryptEccPointMultiply
        - Src:             'tpm/src/crypt/CryptUtil.c:753,25'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptUtil.c:768,21'
          Dst:             CryptKDFe
        - Src:             'tpm/src/crypt/CryptUtil.c:786,18'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptUtil.c:801,17'
          Dst:             CryptXORObfuscation
        - Src:             'tpm/src/crypt/CryptUtil.c:808,17'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/CryptUtil.c:817,18'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptUtil.c:822,29'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'tpm/src/crypt/CryptUtil.c:828,21'
          Dst:             MemoryCopy
        - Src:             'tpm/src/crypt/CryptUtil.c:834,21'
          Dst:             MemoryCopy
        - Src:             'tpm/src/crypt/CryptUtil.c:842,17'
          Dst:             CryptSymmetricDecrypt
        - Src:             'tpm/src/crypt/CryptUtil.c:854,13'
          Dst:             TpmFail
    - functionName:    CryptSecretEncrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 650
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - encryptKey
        - label
        - data
        - secret
      BBCount:         21
      ICount:          191
      EdgeCount:       24
      CyclomaticComplexity: 5
      functionsReached:
        - CryptEccIsPointOnCurve
        - CryptEccNewKeyPair
        - CryptEccPointMultiply
        - CryptHashGetDigestSize
        - CryptKDFe
        - CryptRandomGenerate
        - CryptRsaEncrypt
        - TPMS_ECC_POINT_Marshal
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:546,21'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:546,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:547,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:546,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:547,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:550,43'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptEccIsPointOnCurve
                - CryptEccNewKeyPair
                - TPMS_ECC_POINT_Marshal
                - CryptEccPointMultiply
                - CryptKDFe
                - CryptRandomGenerate
                - CryptRsaEncrypt
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:555,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:556,9'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccNewKeyPair
                - TPMS_ECC_POINT_Marshal
                - CryptEccPointMultiply
                - CryptKDFe
                - CryptRandomGenerate
                - CryptRsaEncrypt
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:557,12'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccNewKeyPair
                - TPMS_ECC_POINT_Marshal
                - CryptEccPointMultiply
                - CryptKDFe
                - CryptRandomGenerate
                - CryptRsaEncrypt
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:557,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:563,33'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRsaEncrypt
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:582,42'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccNewKeyPair
                - TPMS_ECC_POINT_Marshal
                - CryptEccPointMultiply
                - CryptKDFe
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:646,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptUtil.c:586,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:589,24'
              BranchSideFuncs:
                - CryptEccNewKeyPair
                - TPMS_ECC_POINT_Marshal
                - CryptEccPointMultiply
                - CryptKDFe
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:599,21'
              BranchSideFuncs:
                - CryptEccNewKeyPair
                - TPMS_ECC_POINT_Marshal
                - CryptEccPointMultiply
                - CryptKDFe
        - Branch String:   'tpm/src/crypt/CryptUtil.c:609,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:617,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:633,31'
              BranchSideFuncs:
                - CryptKDFe
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:550,20'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/CryptUtil.c:563,13'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/crypt/CryptUtil.c:566,22'
          Dst:             CryptRsaEncrypt
        - Src:             'tpm/src/crypt/CryptUtil.c:586,17'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'tpm/src/crypt/CryptUtil.c:596,17'
          Dst:             CryptEccNewKeyPair
        - Src:             'tpm/src/crypt/CryptUtil.c:602,34'
          Dst:             TPMS_ECC_POINT_Marshal
        - Src:             'tpm/src/crypt/CryptUtil.c:609,20'
          Dst:             CryptEccPointMultiply
        - Src:             'tpm/src/crypt/CryptUtil.c:633,21'
          Dst:             CryptKDFe
        - Src:             'tpm/src/crypt/CryptUtil.c:646,13'
          Dst:             TpmFail
    - functionName:    CryptStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 463
      functionLinenumberEnd: 489
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - type
      BBCount:         19
      ICount:          94
      EdgeCount:       26
      CyclomaticComplexity: 9
      functionsReached:
        - CryptEccStartup
        - CryptHashStartup
        - CryptRandStartup
        - CryptRandomGenerate
        - CryptRsaStartup
        - CryptSymStartup
        - MemorySet
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:467,28'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:467,31'
              BranchSideFuncs:
                - CryptRandStartup
                - CryptRandomGenerate
                - MemorySet
                - CryptHashStartup
                - CryptRsaStartup
                - CryptEccStartup
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:472,10'
              BranchSideFuncs:
                - CryptRandomGenerate
                - MemorySet
        - Branch String:   'tpm/src/crypt/CryptUtil.c:467,50'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:467,53'
              BranchSideFuncs:
                - CryptHashStartup
                - CryptRandomGenerate
                - MemorySet
                - CryptRsaStartup
                - CryptEccStartup
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:472,10'
              BranchSideFuncs:
                - CryptRandomGenerate
                - MemorySet
        - Branch String:   'tpm/src/crypt/CryptUtil.c:469,10'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:469,13'
              BranchSideFuncs:
                - CryptRsaStartup
                - CryptRandomGenerate
                - MemorySet
                - CryptEccStartup
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:472,10'
              BranchSideFuncs:
                - CryptRandomGenerate
                - MemorySet
        - Branch String:   'tpm/src/crypt/CryptUtil.c:472,10'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:472,13'
              BranchSideFuncs:
                - CryptEccStartup
                - CryptRandomGenerate
                - MemorySet
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:472,10'
              BranchSideFuncs:
                - CryptRandomGenerate
                - MemorySet
        - Branch String:   'tpm/src/crypt/CryptUtil.c:477,11'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:477,15'
              BranchSideFuncs:
                - CryptRandomGenerate
                - MemorySet
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:477,11'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:477,35'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:477,39'
              BranchSideFuncs:
                - CryptRandomGenerate
                - MemorySet
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:477,35'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptUtil.c:477,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:477,8'
              BranchSideFuncs:
                - CryptRandomGenerate
                - MemorySet
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:482,31'
              BranchSideFuncs:
                - CryptRandomGenerate
                - MemorySet
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:467,10'
          Dst:             CryptSymStartup
        - Src:             'tpm/src/crypt/CryptUtil.c:467,31'
          Dst:             CryptRandStartup
        - Src:             'tpm/src/crypt/CryptUtil.c:467,53'
          Dst:             CryptHashStartup
        - Src:             'tpm/src/crypt/CryptUtil.c:469,13'
          Dst:             CryptRsaStartup
        - Src:             'tpm/src/crypt/CryptUtil.c:472,13'
          Dst:             CryptEccStartup
        - Src:             'tpm/src/crypt/CryptUtil.c:483,9'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/crypt/CryptUtil.c:486,9'
          Dst:             MemorySet
    - functionName:    CryptInit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          108
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - AlgorithmGetImplementedVector
        - CryptEccInit
        - CryptHashInit
        - CryptInitializeToTest
        - CryptRandInit
        - CryptRsaInit
        - CryptSymInit
        - SupportLibInit
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptUtil.c:430,10'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:432,5'
              BranchSideFuncs:
                - AlgorithmGetImplementedVector
                - CryptInitializeToTest
                - SupportLibInit
                - CryptEccInit
                - CryptRsaInit
                - CryptHashInit
                - CryptRandInit
                - CryptSymInit
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:432,5'
              BranchSideFuncs:
                - AlgorithmGetImplementedVector
                - CryptInitializeToTest
                - SupportLibInit
                - CryptEccInit
                - CryptRsaInit
                - CryptHashInit
                - CryptRandInit
                - CryptSymInit
        - Branch String:   'tpm/src/crypt/CryptUtil.c:440,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:440,16'
              BranchSideFuncs:
                - CryptSymInit
                - CryptEccInit
                - CryptRsaInit
                - CryptHashInit
                - CryptRandInit
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:440,13'
              BranchSideFuncs:
                - CryptEccInit
                - CryptRsaInit
                - CryptHashInit
                - CryptRandInit
        - Branch String:   'tpm/src/crypt/CryptUtil.c:441,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:441,16'
              BranchSideFuncs:
                - CryptRandInit
                - CryptEccInit
                - CryptRsaInit
                - CryptHashInit
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:441,13'
              BranchSideFuncs:
                - CryptEccInit
                - CryptRsaInit
                - CryptHashInit
        - Branch String:   'tpm/src/crypt/CryptUtil.c:442,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:442,16'
              BranchSideFuncs:
                - CryptHashInit
                - CryptEccInit
                - CryptRsaInit
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:442,13'
              BranchSideFuncs:
                - CryptEccInit
                - CryptRsaInit
        - Branch String:   'tpm/src/crypt/CryptUtil.c:444,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:444,16'
              BranchSideFuncs:
                - CryptRsaInit
                - CryptEccInit
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:444,13'
              BranchSideFuncs:
                - CryptEccInit
        - Branch String:   'tpm/src/crypt/CryptUtil.c:447,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:447,16'
              BranchSideFuncs:
                - CryptEccInit
            - BranchSide:      'tpm/src/crypt/CryptUtil.c:447,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptUtil.c:432,5'
          Dst:             AlgorithmGetImplementedVector
        - Src:             'tpm/src/crypt/CryptUtil.c:435,5'
          Dst:             CryptInitializeToTest
        - Src:             'tpm/src/crypt/CryptUtil.c:439,10'
          Dst:             SupportLibInit
        - Src:             'tpm/src/crypt/CryptUtil.c:440,16'
          Dst:             CryptSymInit
        - Src:             'tpm/src/crypt/CryptUtil.c:441,16'
          Dst:             CryptRandInit
        - Src:             'tpm/src/crypt/CryptUtil.c:442,16'
          Dst:             CryptHashInit
        - Src:             'tpm/src/crypt/CryptUtil.c:444,16'
          Dst:             CryptRsaInit
        - Src:             'tpm/src/crypt/CryptUtil.c:447,16'
          Dst:             CryptEccInit
    - functionName:    CryptIsSchemeAnonymous
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - scheme
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnEccAdd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 558
      functionLinenumberEnd: 569
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - R
        - S
        - Q
        - E
      BBCount:         3
      ICount:          71
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - EC_POINT_add
        - EC_POINT_free
        - EC_POINT_new
        - EcPointInitialized
        - PointFromOssl
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:559,20'
          Dst:             EC_POINT_new
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:560,20'
          Dst:             EcPointInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:561,20'
          Dst:             EcPointInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:563,5'
          Dst:             EC_POINT_add
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:565,5'
          Dst:             PointFromOssl
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:566,5'
          Dst:             EC_POINT_free
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:567,5'
          Dst:             EC_POINT_free
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:568,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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - initializer
        - E
      BBCount:         11
      ICount:          82
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - BigInitialized
        - EC_POINT_new
        - EC_POINT_set_affine_coordinates_GFp
        - TpmFail
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:401,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:401,8'
              BranchSideFuncs:
                - BigInitialized
                - BigInitialized
                - EC_POINT_new
                - EC_POINT_set_affine_coordinates_GFp
                - TpmFail
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:403,9'
              BranchSideFuncs:
                - BigInitialized
                - BigInitialized
                - EC_POINT_new
                - EC_POINT_set_affine_coordinates_GFp
                - TpmFail
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:405,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:406,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:407,26'
              BranchSideFuncs:
                - EC_POINT_new
                - EC_POINT_set_affine_coordinates_GFp
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:408,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:409,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:410,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:403,9'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:404,9'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:406,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:407,13'
          Dst:             EC_POINT_new
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:408,13'
          Dst:             EC_POINT_set_affine_coordinates_GFp
    - 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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 370
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pOut
        - pIn
        - E
      BBCount:         8
      ICount:          96
      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:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:379,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:380,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:382,46'
              BranchSideFuncs:
                - EC_POINT_get_affine_coordinates_GFp
                - BnSetWord
                - BN_CTX_end
                - OsslToTpmBn
                - OsslToTpmBn
                - BnSetWord
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:383,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:385,21'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslToTpmBn
                - BnSetWord
                - BN_CTX_end
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:390,19'
              BranchSideFuncs:
                - BnSetWord
                - BN_CTX_end
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:374,5'
          Dst:             BN_CTX_start
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:376,9'
          Dst:             BN_CTX_get
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:377,9'
          Dst:             BN_CTX_get
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:380,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:382,10'
          Dst:             EC_POINT_get_affine_coordinates_GFp
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:385,9'
          Dst:             OsslToTpmBn
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:386,9'
          Dst:             OsslToTpmBn
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:387,9'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:390,9'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:391,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:    10
      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:    3
      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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bn
        - osslBn
      BBCount:         20
      ICount:          98
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - BnSetTop
      functionUses:    9
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:74,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:74,5'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:77,8'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:81,9'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:86,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:81,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:81,9'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:82,15'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:82,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:83,24'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:84,18'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:84,9'
          Dst:             BnSetTop
    - 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:    BigInitialized
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - toInit
        - initializer
      BBCount:         11
      ICount:          75
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - TpmFail
      functionUses:    26
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:97,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:98,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:99,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:99,23'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:99,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:100,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:99,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:100,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:101,33'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:98,9'
          Dst:             TpmFail
    - 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:    BnEccModMult2
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 545
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - R
        - S
        - d
        - Q
        - u
        - E
      BBCount:         9
      ICount:          141
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BigInitialized
        - EC_POINT_free
        - EC_POINT_mul
        - EC_POINT_new
        - EC_POINTs_mul
        - EcPointInitialized
        - PointFromOssl
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:529,18'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:529,21'
              BranchSideFuncs:
                - EC_POINT_mul
                - PointFromOssl
                - EC_POINT_free
                - EC_POINT_free
                - EC_POINT_free
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:530,22'
              BranchSideFuncs:
                - EC_POINT_mul
                - PointFromOssl
                - EC_POINT_free
                - EC_POINT_free
                - EC_POINT_free
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:529,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:530,22'
              BranchSideFuncs:
                - EC_POINT_mul
                - PointFromOssl
                - EC_POINT_free
                - EC_POINT_free
                - EC_POINT_free
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:533,25'
              BranchSideFuncs:
                - EC_POINTs_mul
                - PointFromOssl
                - EC_POINT_free
                - EC_POINT_free
                - EC_POINT_free
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:523,20'
          Dst:             EC_POINT_new
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:524,20'
          Dst:             EcPointInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:525,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:526,20'
          Dst:             EcPointInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:527,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:530,9'
          Dst:             EC_POINT_mul
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:539,9'
          Dst:             EC_POINTs_mul
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:541,5'
          Dst:             PointFromOssl
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:542,5'
          Dst:             EC_POINT_free
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:543,5'
          Dst:             EC_POINT_free
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:544,5'
          Dst:             EC_POINT_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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 495
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - R
        - S
        - d
        - E
      BBCount:         6
      ICount:          90
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BigInitialized
        - EC_POINT_free
        - EC_POINT_mul
        - EC_POINT_new
        - EcPointInitialized
        - PointFromOssl
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:500,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:501,22'
              BranchSideFuncs:
                - EC_POINT_mul
                - PointFromOssl
                - EC_POINT_free
                - EC_POINT_free
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:503,22'
              BranchSideFuncs:
                - EC_POINT_mul
                - PointFromOssl
                - EC_POINT_free
                - EC_POINT_free
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:496,20'
          Dst:             EC_POINT_new
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:497,20'
          Dst:             EcPointInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:498,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:501,9'
          Dst:             EC_POINT_mul
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:503,9'
          Dst:             EC_POINT_mul
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:504,5'
          Dst:             PointFromOssl
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:505,5'
          Dst:             EC_POINT_free
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:506,5'
          Dst:             EC_POINT_free
    - functionName:    BnCurveFree
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - E
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EC_GROUP_free
        - OsslContextLeave
      functionUses:    10
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:479,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:479,8'
              BranchSideFuncs:
                - EC_GROUP_free
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:481,23'
              BranchSideFuncs:
                - EC_GROUP_free
                - OsslContextLeave
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:481,9'
          Dst:             EC_GROUP_free
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:482,9'
          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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnCurveInitialize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - E
        - curveId
      BBCount:         27
      ICount:          203
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - BigInitialized
        - BnCurveFree
        - EC_GROUP_new_curve_GFp
        - EC_GROUP_set_generator
        - EC_POINT_free
        - EC_POINT_new
        - EC_POINT_set_affine_coordinates_GFp
        - GetCurveData
        - OsslContextEnter
      functionUses:    9
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:428,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:429,11'
              BranchSideFuncs:
                - OsslContextEnter
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - EC_GROUP_new_curve_GFp
                - EC_POINT_free
                - BnCurveFree
                - EC_POINT_new
                - EC_POINT_set_affine_coordinates_GFp
                - EC_GROUP_set_generator
                - EC_POINT_free
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:430,8'
              BranchSideFuncs:
                - OsslContextEnter
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - EC_GROUP_new_curve_GFp
                - EC_POINT_free
                - BnCurveFree
                - EC_POINT_new
                - EC_POINT_set_affine_coordinates_GFp
                - EC_GROUP_set_generator
                - EC_POINT_free
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:430,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:430,13'
              BranchSideFuncs:
                - OsslContextEnter
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - EC_GROUP_new_curve_GFp
                - EC_POINT_free
                - BnCurveFree
                - EC_POINT_new
                - EC_POINT_set_affine_coordinates_GFp
                - EC_GROUP_set_generator
                - EC_POINT_free
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:434,9'
              BranchSideFuncs:
                - OsslContextEnter
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - BigInitialized
                - EC_GROUP_new_curve_GFp
                - EC_POINT_free
                - BnCurveFree
                - EC_POINT_new
                - EC_POINT_set_affine_coordinates_GFp
                - EC_GROUP_set_generator
                - EC_POINT_free
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:451,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:451,9'
              BranchSideFuncs:
                - EC_POINT_new
                - EC_POINT_free
                - BnCurveFree
                - EC_POINT_set_affine_coordinates_GFp
                - EC_GROUP_set_generator
                - EC_POINT_free
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:455,26'
              BranchSideFuncs:
                - EC_POINT_new
                - EC_POINT_free
                - BnCurveFree
                - EC_POINT_set_affine_coordinates_GFp
                - EC_GROUP_set_generator
                - EC_POINT_free
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:456,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:456,9'
              BranchSideFuncs:
                - EC_POINT_set_affine_coordinates_GFp
                - EC_POINT_free
                - BnCurveFree
                - EC_GROUP_set_generator
                - EC_POINT_free
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:459,9'
              BranchSideFuncs:
                - EC_POINT_set_affine_coordinates_GFp
                - EC_POINT_free
                - BnCurveFree
                - EC_GROUP_set_generator
                - EC_POINT_free
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:459,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:459,9'
              BranchSideFuncs:
                - EC_GROUP_set_generator
                - EC_POINT_free
                - BnCurveFree
                - EC_POINT_free
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:461,9'
              BranchSideFuncs:
                - EC_GROUP_set_generator
                - EC_POINT_free
                - BnCurveFree
                - EC_POINT_free
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:461,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:461,9'
              BranchSideFuncs:
                - EC_POINT_free
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:463,23'
              BranchSideFuncs:
                - EC_POINT_free
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:427,31'
          Dst:             GetCurveData
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:434,9'
          Dst:             OsslContextEnter
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:436,9'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:437,9'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:438,9'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:439,9'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:440,9'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:441,9'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:442,9'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:450,16'
          Dst:             EC_GROUP_new_curve_GFp
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:455,13'
          Dst:             EC_POINT_new
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:459,9'
          Dst:             EC_POINT_set_affine_coordinates_GFp
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:461,9'
          Dst:             EC_GROUP_set_generator
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:463,9'
          Dst:             EC_POINT_free
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:466,9'
          Dst:             EC_POINT_free
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:467,9'
          Dst:             BnCurveFree
    - 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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 355
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - result
        - number
        - modulus
      BBCount:         13
      ICount:          82
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - BN_mod_inverse
        - BigInitialized
        - BnNewVariable
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:348,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:348,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:349,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:349,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:349,5'
              BranchSideFuncs:
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:350,5'
              BranchSideFuncs:
                - OsslContextLeave
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:342,5'
          Dst:             OsslContextEnter
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:343,24'
          Dst:             BnNewVariable
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:345,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:346,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:348,5'
          Dst:             BN_mod_inverse
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:349,5'
          Dst:             OsslToTpmBn
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:354,5'
          Dst:             OsslContextLeave
    - functionName:    BnNewVariable
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - CTX
      BBCount:         8
      ICount:          38
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - BN_CTX_get
        - TpmFail
      functionUses:    9
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:162,22'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:162,44'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:163,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:162,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:163,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:164,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:162,33'
          Dst:             BN_CTX_get
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:163,9'
          Dst:             TpmFail
    - 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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - result
        - number
        - exponent
        - modulus
      BBCount:         13
      ICount:          94
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - BN_mod_exp
        - BigInitialized
        - BnNewVariable
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:325,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:325,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:326,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:326,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:326,5'
              BranchSideFuncs:
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:327,5'
              BranchSideFuncs:
                - OsslContextLeave
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:318,5'
          Dst:             OsslContextEnter
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:319,24'
          Dst:             BnNewVariable
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:321,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:322,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:323,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:325,5'
          Dst:             BN_mod_exp
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:326,5'
          Dst:             OsslToTpmBn
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:331,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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 289
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - gcd
        - number1
        - number2
      BBCount:         13
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - BN_gcd
        - BigInitialized
        - BnNewVariable
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:296,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:296,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:297,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:297,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:297,5'
              BranchSideFuncs:
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:298,5'
              BranchSideFuncs:
                - OsslContextLeave
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:290,5'
          Dst:             OsslContextEnter
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:291,21'
          Dst:             BnNewVariable
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:293,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:294,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:296,5'
          Dst:             BN_gcd
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:297,5'
          Dst:             OsslToTpmBn
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:302,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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - quotient
        - remainder
        - dividend
        - divisor
      BBCount:         19
      ICount:          115
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - BN_div
        - BigInitialized
        - BnNewVariable
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
        - TpmFail
      functionUses:    11
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:261,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:262,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:263,5'
              BranchSideFuncs:
                - BN_div
                - OsslContextLeave
                - OsslToTpmBn
                - OsslToTpmBn
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:263,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:263,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
                - OsslToTpmBn
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:264,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
                - OsslToTpmBn
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:264,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:264,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:265,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:265,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:265,5'
              BranchSideFuncs:
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:271,5'
              BranchSideFuncs:
                - OsslContextLeave
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:254,5'
          Dst:             OsslContextEnter
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:255,19'
          Dst:             BnNewVariable
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:256,19'
          Dst:             BnNewVariable
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:258,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:259,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:262,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:263,5'
          Dst:             BN_div
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:264,5'
          Dst:             OsslToTpmBn
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:265,5'
          Dst:             OsslToTpmBn
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:275,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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - result
        - multiplicand
        - multiplier
      BBCount:         13
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - BN_mul
        - BigInitialized
        - BnNewVariable
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:235,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:235,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:236,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:236,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:236,5'
              BranchSideFuncs:
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:237,5'
              BranchSideFuncs:
                - OsslContextLeave
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:229,5'
          Dst:             OsslContextEnter
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:230,22'
          Dst:             BnNewVariable
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:232,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:233,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:235,5'
          Dst:             BN_mul
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:236,5'
          Dst:             OsslToTpmBn
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:241,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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - result
        - op1
        - op2
        - modulus
      BBCount:         17
      ICount:          112
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - BN_div
        - BN_mul
        - BigInitialized
        - BnNewVariable
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:211,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:211,5'
              BranchSideFuncs:
                - BN_div
                - OsslContextLeave
                - OsslToTpmBn
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:212,5'
              BranchSideFuncs:
                - BN_div
                - OsslContextLeave
                - OsslToTpmBn
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:212,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:212,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:213,5'
              BranchSideFuncs:
                - OsslToTpmBn
                - OsslContextLeave
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:213,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:213,5'
              BranchSideFuncs:
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:214,5'
              BranchSideFuncs:
                - OsslContextLeave
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:203,5'
          Dst:             OsslContextEnter
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:205,24'
          Dst:             BnNewVariable
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:206,24'
          Dst:             BnNewVariable
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:207,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:208,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:209,5'
          Dst:             BigInitialized
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:211,5'
          Dst:             BN_mul
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:212,5'
          Dst:             BN_div
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:213,5'
          Dst:             OsslToTpmBn
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:218,5'
          Dst:             OsslContextLeave
    - functionName:    MathLibraryCompatibilityCheck
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          102
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - BN_bin2bn
        - BnFromBytes
        - BnInit
        - BnNewVariable
        - OsslContextEnter
        - OsslContextLeave
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:172,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:185,5'
              BranchSideFuncs:
                - OsslContextEnter
                - BnNewVariable
                - BnInit
                - BnFromBytes
                - BN_bin2bn
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:185,5'
              BranchSideFuncs:
                - OsslContextEnter
                - BnNewVariable
                - BnInit
                - BnFromBytes
                - BN_bin2bn
                - OsslContextLeave
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:185,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:185,5'
              BranchSideFuncs:
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:186,11'
              BranchSideFuncs:
                - OsslContextLeave
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:186,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:187,9'
              BranchSideFuncs:
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:188,5'
              BranchSideFuncs:
                - OsslContextLeave
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslMath.c:187,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:186,36'
              BranchSideFuncs:
                - OsslContextLeave
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslMath.c:187,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:172,5'
          Dst:             OsslContextEnter
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:173,30'
          Dst:             BnNewVariable
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:178,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:181,5'
          Dst:             BnFromBytes
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:183,5'
          Dst:             BN_bin2bn
        - Src:             'tpm/src/crypt/ossl/TpmToOsslMath.c:188,5'
          Dst:             OsslContextLeave
    - 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:    OsslPopContext
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslSupport.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - CTX
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BN_CTX_end
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslSupport.c:90,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslSupport.c:90,8'
              BranchSideFuncs:
                - BN_CTX_end
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslSupport.c:91,20'
              BranchSideFuncs:
                - BN_CTX_end
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslSupport.c:91,9'
          Dst:             BN_CTX_end
    - functionName:    OsslContextLeave
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslSupport.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - CTX
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BN_CTX_free
        - OsslPopContext
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslSupport.c:69,5'
          Dst:             OsslPopContext
        - Src:             'tpm/src/crypt/ossl/TpmToOsslSupport.c:70,5'
          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:    OsslPushContext
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslSupport.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - CTX
      BBCount:         5
      ICount:          28
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - BN_CTX_start
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslSupport.c:79,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslSupport.c:80,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslSupport.c:81,18'
              BranchSideFuncs:
                - BN_CTX_start
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslSupport.c:80,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/ossl/TpmToOsslSupport.c:81,5'
          Dst:             BN_CTX_start
    - functionName:    OsslContextEnter
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslSupport.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BN_CTX_new
        - OsslPushContext
      functionUses:    8
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/ossl/TpmToOsslSupport.c:60,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslSupport.c:60,13'
              BranchSideFuncs:
                - BN_CTX_new
                - OsslPushContext
            - BranchSide:      'tpm/src/crypt/ossl/TpmToOsslSupport.c:60,19'
              BranchSideFuncs:
                - BN_CTX_new
                - OsslPushContext
      Callsites:
        - Src:             'tpm/src/crypt/ossl/TpmToOsslSupport.c:60,19'
          Dst:             BN_CTX_new
        - Src:             'tpm/src/crypt/ossl/TpmToOsslSupport.c:62,12'
          Dst:             OsslPushContext
    - 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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/ossl/TpmToOsslSupport.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CommandDispatcher
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/CommandDispatcher.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 455
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         54
      ICount:          498
      EdgeCount:       68
      CyclomaticComplexity: 16
      functionsReached:
        - MemoryGetInBuffer
        - MemoryGetOutBuffer
        - MemoryIoBufferAllocationReset
        - MemoryIoBufferZero
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/CommandDispatcher.c:291,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:291,5'
              BranchSideFuncs:
                - TpmFail
                - MemoryIoBufferAllocationReset
                - MemoryGetInBuffer
                - MemoryGetOutBuffer
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:293,31'
              BranchSideFuncs:
                - TpmFail
                - MemoryIoBufferAllocationReset
                - MemoryGetInBuffer
                - MemoryGetOutBuffer
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:296,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:296,5'
              BranchSideFuncs:
                - MemoryIoBufferAllocationReset
                - MemoryGetInBuffer
                - MemoryGetOutBuffer
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:297,22'
              BranchSideFuncs:
                - MemoryIoBufferAllocationReset
                - MemoryGetInBuffer
                - MemoryGetOutBuffer
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:319,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:323,54'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:339,5'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:327,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:328,30'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:330,24'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:339,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:341,13'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:381,8'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:352,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:354,29'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:361,27'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:368,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:370,46'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:376,13'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:376,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:377,30'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:378,24'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:381,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:383,16'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:392,25'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:396,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:398,12'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:405,12'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:398,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:399,26'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:401,26'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:405,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:406,26'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:408,26'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:410,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:411,9'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:414,12'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:422,8'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:427,30'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:437,5'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:437,67'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:437,71'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:437,5'
              BranchSideFuncs:
                - MemoryIoBufferZero
        - Branch String:   'tpm/src/main/CommandDispatcher.c:437,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:445,42'
              BranchSideFuncs:
                - MemoryIoBufferZero
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:452,15'
              BranchSideFuncs:
                - MemoryIoBufferZero
      Callsites:
        - Src:             'tpm/src/main/CommandDispatcher.c:291,5'
          Dst:             TpmFail
        - Src:             'tpm/src/main/CommandDispatcher.c:296,5'
          Dst:             TpmFail
        - Src:             'tpm/src/main/CommandDispatcher.c:309,5'
          Dst:             MemoryIoBufferAllocationReset
        - Src:             'tpm/src/main/CommandDispatcher.c:311,17'
          Dst:             MemoryGetInBuffer
        - Src:             'tpm/src/main/CommandDispatcher.c:313,25'
          Dst:             MemoryGetOutBuffer
        - Src:             'tpm/src/main/CommandDispatcher.c:454,5'
          Dst:             MemoryIoBufferZero
    - functionName:    ParseHandleBuffer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/main/CommandDispatcher.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - command
      BBCount:         21
      ICount:          183
      EdgeCount:       24
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/main/CommandDispatcher.c:159,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:159,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:162,31'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/main/CommandDispatcher.c:164,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:164,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:166,22'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/CommandDispatcher.c:174,5'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:191,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:237,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/CommandDispatcher.c:191,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:194,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:203,27'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/main/CommandDispatcher.c:217,12'
          Branch Sides:
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:220,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/main/CommandDispatcher.c:221,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/main/CommandDispatcher.c:159,5'
          Dst:             TpmFail
        - Src:             'tpm/src/main/CommandDispatcher.c:164,5'
          Dst:             TpmFail
    - functionName:    HierarchyIsEnabled
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - hierarchy
      BBCount:         7
      ICount:          43
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Hierarchy.c:207,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:210,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:213,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:216,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:219,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:222,21'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    HierarchyGetPrimarySeed
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - hierarchy
      BBCount:         6
      ICount:          35
      EdgeCount:       10
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Hierarchy.c:178,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:181,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:184,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:187,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:190,18'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    HierarchyGetProof
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - hierarchy
      BBCount:         6
      ICount:          35
      EdgeCount:       10
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Hierarchy.c:150,5'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:154,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:158,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:162,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:166,19'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    HierarchyStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - type
      BBCount:         11
      ICount:          59
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CryptRandomGenerate
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Hierarchy.c:120,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:122,34'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:131,9'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
        - Branch String:   'tpm/src/subsystem/Hierarchy.c:131,29'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:131,33'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:131,29'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/subsystem/Hierarchy.c:131,8'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:131,8'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:133,29'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
      Callsites:
        - Src:             'tpm/src/subsystem/Hierarchy.c:134,9'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/subsystem/Hierarchy.c:136,9'
          Dst:             CryptRandomGenerate
    - functionName:    HierarchyPreInstall_Init
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/subsystem/Hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          55
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptRandomGenerate
        - NvWrite
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/subsystem/Hierarchy.c:53,21'
          Branch Sides:
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:53,21'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
                - CryptRandomGenerate
                - CryptRandomGenerate
                - CryptRandomGenerate
                - CryptRandomGenerate
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/subsystem/Hierarchy.c:53,21'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
                - CryptRandomGenerate
                - CryptRandomGenerate
                - CryptRandomGenerate
                - CryptRandomGenerate
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
      Callsites:
        - Src:             'tpm/src/subsystem/Hierarchy.c:62,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/subsystem/Hierarchy.c:64,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/subsystem/Hierarchy.c:65,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/subsystem/Hierarchy.c:84,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/subsystem/Hierarchy.c:85,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/subsystem/Hierarchy.c:86,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/subsystem/Hierarchy.c:89,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:90,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:91,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:92,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:93,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:94,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:95,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:96,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:97,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:98,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:99,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:100,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:101,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:102,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:103,5'
          Dst:             NvWrite
        - Src:             'tpm/src/subsystem/Hierarchy.c:104,5'
          Dst:             NvWrite
    - functionName:    AlgorithmGetImplementedVector
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/AlgorithmCap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - implemented
      BBCount:         7
      ICount:          43
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - MemorySet
        - SetBit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/AlgorithmCap.c:228,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/AlgorithmCap.c:230,9'
              BranchSideFuncs:
                - SetBit
            - BranchSide:      'tpm/src/support/AlgorithmCap.c:231,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/AlgorithmCap.c:225,5'
          Dst:             MemorySet
        - Src:             'tpm/src/support/AlgorithmCap.c:230,9'
          Dst:             SetBit
    - functionName:    AlgorithmCapGetImplemented
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/AlgorithmCap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - algID
        - count
        - algList
      BBCount:         14
      ICount:          119
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/AlgorithmCap.c:182,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/AlgorithmCap.c:183,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/AlgorithmCap.c:186,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/AlgorithmCap.c:189,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/AlgorithmCap.c:189,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/AlgorithmCap.c:192,25'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/AlgorithmCap.c:192,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/AlgorithmCap.c:193,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/AlgorithmCap.c:194,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/AlgorithmCap.c:194,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/AlgorithmCap.c:198,71'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/AlgorithmCap.c:207,18'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    IsLabelProperlyFormatted
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/IoBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - x
      BBCount:         4
      ICount:          37
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/IoBuffers.c:111,30'
          Branch Sides:
            - BranchSide:      'tpm/src/support/IoBuffers.c:111,30'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/IoBuffers.c:111,35'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    MemoryGetOutBuffer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/IoBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - size
      BBCount:         7
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/IoBuffers.c:95,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/IoBuffers.c:95,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/IoBuffers.c:95,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/support/IoBuffers.c:95,5'
          Dst:             TpmFail
    - functionName:    MemoryGetInBuffer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/IoBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - size
      BBCount:         7
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/IoBuffers.c:75,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/IoBuffers.c:75,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/IoBuffers.c:75,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/support/IoBuffers.c:75,5'
          Dst:             TpmFail
    - functionName:    MemoryIoBufferZero
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/IoBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 65
      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/ms-tpm-20-ref/TPMCmd/tpm/src/support/IoBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LocalityGetAttributes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/Locality.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - locality
      BBCount:         14
      ICount:          90
      EdgeCount:       27
      CyclomaticComplexity: 15
      functionsReached:
        - MemorySet
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/Locality.c:51,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Locality.c:54,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Locality.c:57,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Locality.c:60,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Locality.c:63,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Locality.c:66,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Locality.c:69,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/support/Locality.c:69,13'
          Branch Sides:
            - BranchSide:      'tpm/src/support/Locality.c:69,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/Locality.c:70,31'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/Locality.c:50,5'
          Dst:             MemorySet
        - Src:             'tpm/src/support/Locality.c:69,13'
          Dst:             TpmFail
    - functionName:    ShiftLeft
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - value
      BBCount:         8
      ICount:          80
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:231,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:231,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:233,19'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:233,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:235,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:237,10'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    AdjustNumberB
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - num
        - requestedSize
      BBCount:         19
      ICount:          162
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - MemoryCopy
        - MemorySet
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:196,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:197,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:198,12'
              BranchSideFuncs:
                - MemoryCopy
                - MemorySet
                - MemoryCopy
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:199,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:205,17'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:216,21'
              BranchSideFuncs:
                - MemoryCopy
                - MemorySet
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:205,39'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:205,42'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:205,9'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:205,9'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:205,65'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:207,12'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:207,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:209,25'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:212,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/MathOnByteBuffers.c:210,13'
          Dst:             MemoryCopy
        - Src:             'tpm/src/support/MathOnByteBuffers.c:216,9'
          Dst:             MemoryCopy
        - Src:             'tpm/src/support/MathOnByteBuffers.c:217,9'
          Dst:             MemorySet
    - functionName:    DivideB
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - n
        - d
        - q
        - r
      BBCount:         14
      ICount:          110
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - BnDiv
        - BnFrom2B
        - BnInit
        - BnTo2B
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:176,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:177,20'
              BranchSideFuncs:
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:179,8'
              BranchSideFuncs:
                - BnTo2B
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:177,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:177,35'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:178,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:179,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:180,20'
              BranchSideFuncs:
                - BnTo2B
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:182,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:180,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:180,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:181,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/MathOnByteBuffers.c:166,5'
          Dst:             BnInit
        - Src:             'tpm/src/support/MathOnByteBuffers.c:166,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/support/MathOnByteBuffers.c:167,5'
          Dst:             BnInit
        - Src:             'tpm/src/support/MathOnByteBuffers.c:167,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/support/MathOnByteBuffers.c:168,5'
          Dst:             BnInit
        - Src:             'tpm/src/support/MathOnByteBuffers.c:169,5'
          Dst:             BnInit
        - Src:             'tpm/src/support/MathOnByteBuffers.c:172,5'
          Dst:             BnDiv
        - Src:             'tpm/src/support/MathOnByteBuffers.c:177,13'
          Dst:             BnTo2B
        - Src:             'tpm/src/support/MathOnByteBuffers.c:180,13'
          Dst:             BnTo2B
    - functionName:    ModExpB
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - cSize
        - c
        - mSize
        - m
        - eSize
        - e
        - nSize
        - n
      BBCount:         14
      ICount:          126
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - BnFromBytes
        - BnInit
        - BnModExp
        - BnToBytes
        - BnUnsignedCmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:142,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:143,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:144,22'
              BranchSideFuncs:
                - BnUnsignedCmp
                - BnModExp
                - BnToBytes
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:144,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:145,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:146,14'
              BranchSideFuncs:
                - BnModExp
                - BnToBytes
      Callsites:
        - Src:             'tpm/src/support/MathOnByteBuffers.c:128,5'
          Dst:             BnInit
        - Src:             'tpm/src/support/MathOnByteBuffers.c:129,5'
          Dst:             BnInit
        - Src:             'tpm/src/support/MathOnByteBuffers.c:130,5'
          Dst:             BnInit
        - Src:             'tpm/src/support/MathOnByteBuffers.c:131,5'
          Dst:             BnInit
        - Src:             'tpm/src/support/MathOnByteBuffers.c:136,5'
          Dst:             BnFromBytes
        - Src:             'tpm/src/support/MathOnByteBuffers.c:137,5'
          Dst:             BnFromBytes
        - Src:             'tpm/src/support/MathOnByteBuffers.c:138,5'
          Dst:             BnFromBytes
        - Src:             'tpm/src/support/MathOnByteBuffers.c:144,8'
          Dst:             BnUnsignedCmp
        - Src:             'tpm/src/support/MathOnByteBuffers.c:146,5'
          Dst:             BnModExp
        - Src:             'tpm/src/support/MathOnByteBuffers.c:147,5'
          Dst:             BnToBytes
    - functionName:    SignedCompareB
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - aSize
        - a
        - bSize
        - b
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UnsignedCompareB
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:88,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:90,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:93,33'
              BranchSideFuncs:
                - UnsignedCompareB
      Callsites:
        - Src:             'tpm/src/support/MathOnByteBuffers.c:93,16'
          Dst:             UnsignedCompareB
    - functionName:    UnsignedCompareB
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - aSize
        - a
        - bSize
        - b
      BBCount:         14
      ICount:          98
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    9
      BranchProfiles:
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:59,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:60,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:61,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:61,13'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:62,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:65,15'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/MathOnByteBuffers.c:67,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:68,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/MathOnByteBuffers.c:69,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    TPM2_ECC_Decrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Asymmetric/ECC_Decrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         13
      ICount:          95
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - CryptEccDecrypt
        - CryptEccSelectScheme
        - HandleToObject
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Asymmetric/ECC_Decrypt.c:55,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Decrypt.c:56,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Decrypt.c:57,8'
              BranchSideFuncs:
                - CryptEccSelectScheme
                - CryptEccDecrypt
        - Branch String:   'tpm/src/command/Asymmetric/ECC_Decrypt.c:58,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Decrypt.c:58,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Decrypt.c:59,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Asymmetric/ECC_Decrypt.c:57,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Decrypt.c:59,9'
              BranchSideFuncs:
                - CryptEccSelectScheme
                - CryptEccDecrypt
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Decrypt.c:61,30'
              BranchSideFuncs:
                - CryptEccSelectScheme
                - CryptEccDecrypt
        - Branch String:   'tpm/src/command/Asymmetric/ECC_Decrypt.c:61,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Decrypt.c:62,9'
              BranchSideFuncs:
                - CryptEccDecrypt
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Decrypt.c:65,9'
              BranchSideFuncs:
                - CryptEccDecrypt
      Callsites:
        - Src:             'tpm/src/command/Asymmetric/ECC_Decrypt.c:52,19'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Asymmetric/ECC_Decrypt.c:61,9'
          Dst:             CryptEccSelectScheme
        - Src:             'tpm/src/command/Asymmetric/ECC_Decrypt.c:64,12'
          Dst:             CryptEccDecrypt
    - functionName:    TPM2_ECC_Encrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Asymmetric/ECC_Encrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         8
      ICount:          69
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CryptEccEncrypt
        - CryptEccSelectScheme
        - HandleToObject
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Asymmetric/ECC_Encrypt.c:51,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Encrypt.c:52,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Encrypt.c:54,30'
              BranchSideFuncs:
                - CryptEccSelectScheme
                - CryptEccEncrypt
        - Branch String:   'tpm/src/command/Asymmetric/ECC_Encrypt.c:54,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Encrypt.c:55,9'
              BranchSideFuncs:
                - CryptEccEncrypt
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Encrypt.c:58,9'
              BranchSideFuncs:
                - CryptEccEncrypt
      Callsites:
        - Src:             'tpm/src/command/Asymmetric/ECC_Encrypt.c:49,22'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Asymmetric/ECC_Encrypt.c:54,9'
          Dst:             CryptEccSelectScheme
        - Src:             'tpm/src/command/Asymmetric/ECC_Encrypt.c:57,12'
          Dst:             CryptEccEncrypt
    - functionName:    TPM2_ECC_Parameters
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Asymmetric/ECC_Parameters.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccGetParameters
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Asymmetric/ECC_Parameters.c:54,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Parameters.c:55,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ECC_Parameters.c:57,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Asymmetric/ECC_Parameters.c:54,8'
          Dst:             CryptEccGetParameters
    - functionName:    TPM2_ECDH_KeyGen
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Asymmetric/ECDH_KeyGen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         15
      ICount:          104
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - CryptEccNewKeyPair
        - CryptEccPointMultiply
        - HandleToObject
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Asymmetric/ECDH_KeyGen.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_KeyGen.c:61,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_KeyGen.c:64,5'
              BranchSideFuncs:
                - CryptEccNewKeyPair
                - CryptEccPointMultiply
        - Branch String:   'tpm/src/command/Asymmetric/ECDH_KeyGen.c:71,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_KeyGen.c:74,45'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - CryptEccNewKeyPair
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_KeyGen.c:89,5'
              BranchSideFuncs:
                - CryptEccNewKeyPair
                - CryptEccPointMultiply
        - Branch String:   'tpm/src/command/Asymmetric/ECDH_KeyGen.c:82,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_KeyGen.c:83,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_KeyGen.c:88,9'
              BranchSideFuncs:
                - CryptEccNewKeyPair
                - CryptEccPointMultiply
        - Branch String:   'tpm/src/command/Asymmetric/ECDH_KeyGen.c:89,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_KeyGen.c:66,35'
              BranchSideFuncs:
                - CryptEccNewKeyPair
                - CryptEccPointMultiply
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_KeyGen.c:90,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Asymmetric/ECDH_KeyGen.c:57,14'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Asymmetric/ECDH_KeyGen.c:68,18'
          Dst:             CryptEccNewKeyPair
        - Src:             'tpm/src/command/Asymmetric/ECDH_KeyGen.c:74,22'
          Dst:             CryptEccPointMultiply
    - functionName:    TPM2_ECDH_ZGen
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Asymmetric/ECDH_ZGen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         18
      ICount:          133
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - CryptEccPointMultiply
        - HandleToObject
        - RcSafeAddToResult
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Asymmetric/ECDH_ZGen.c:63,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:64,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:66,8'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Asymmetric/ECDH_ZGen.c:67,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:67,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:68,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Asymmetric/ECDH_ZGen.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:68,9'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:70,8'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Asymmetric/ECDH_ZGen.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:71,11'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:75,37'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Asymmetric/ECDH_ZGen.c:70,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:72,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:75,37'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Asymmetric/ECDH_ZGen.c:81,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:82,34'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Asymmetric/ECDH_ZGen.c:83,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Asymmetric/ECDH_ZGen.c:60,14'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Asymmetric/ECDH_ZGen.c:75,14'
          Dst:             CryptEccPointMultiply
        - Src:             'tpm/src/command/Asymmetric/ECDH_ZGen.c:82,16'
          Dst:             RcSafeAddToResult
    - functionName:    TPM2_EC_Ephemeral
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Asymmetric/EC_Ephemeral.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         16
      ICount:          82
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - CryptCommit
        - CryptEccPointMultiply
        - CryptGenerateR
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Asymmetric/EC_Ephemeral.c:57,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/EC_Ephemeral.c:58,13'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - CryptGenerateR
                - CryptCommit
            - BranchSide:      'tpm/src/command/Asymmetric/EC_Ephemeral.c:61,36'
              BranchSideFuncs:
                - CryptEccPointMultiply
                - CryptGenerateR
                - CryptCommit
        - Branch String:   'tpm/src/command/Asymmetric/EC_Ephemeral.c:65,39'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/EC_Ephemeral.c:65,43'
              BranchSideFuncs:
                - CryptCommit
                - CryptGenerateR
                - CryptEccPointMultiply
            - BranchSide:      'tpm/src/command/Asymmetric/EC_Ephemeral.c:66,28'
              BranchSideFuncs:
                - CryptCommit
                - CryptGenerateR
                - CryptEccPointMultiply
        - Branch String:   'tpm/src/command/Asymmetric/EC_Ephemeral.c:65,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/EC_Ephemeral.c:66,28'
              BranchSideFuncs:
                - CryptCommit
                - CryptGenerateR
                - CryptEccPointMultiply
            - BranchSide:      'tpm/src/command/Asymmetric/EC_Ephemeral.c:67,5'
              BranchSideFuncs:
                - CryptGenerateR
                - CryptEccPointMultiply
                - CryptCommit
        - Branch String:   'tpm/src/command/Asymmetric/EC_Ephemeral.c:67,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/EC_Ephemeral.c:57,38'
              BranchSideFuncs:
                - CryptGenerateR
                - CryptEccPointMultiply
                - CryptCommit
            - BranchSide:      'tpm/src/command/Asymmetric/EC_Ephemeral.c:69,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Asymmetric/EC_Ephemeral.c:57,13'
          Dst:             CryptGenerateR
        - Src:             'tpm/src/command/Asymmetric/EC_Ephemeral.c:61,13'
          Dst:             CryptEccPointMultiply
        - Src:             'tpm/src/command/Asymmetric/EC_Ephemeral.c:66,28'
          Dst:             CryptCommit
    - functionName:    TPM2_RSA_Decrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Asymmetric/RSA_Decrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         15
      ICount:          115
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - CryptRsaDecrypt
        - CryptRsaSelectScheme
        - HandleToObject
        - IsLabelProperlyFormatted
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Asymmetric/RSA_Decrypt.c:73,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Decrypt.c:74,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Decrypt.c:77,8'
              BranchSideFuncs:
                - IsLabelProperlyFormatted
                - CryptRsaSelectScheme
                - CryptRsaDecrypt
        - Branch String:   'tpm/src/command/Asymmetric/RSA_Decrypt.c:78,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Decrypt.c:78,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Decrypt.c:79,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Asymmetric/RSA_Decrypt.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Decrypt.c:79,9'
              BranchSideFuncs:
                - IsLabelProperlyFormatted
                - CryptRsaSelectScheme
                - CryptRsaDecrypt
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Decrypt.c:87,35'
              BranchSideFuncs:
                - IsLabelProperlyFormatted
                - CryptRsaSelectScheme
                - CryptRsaDecrypt
        - Branch String:   'tpm/src/command/Asymmetric/RSA_Decrypt.c:87,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Decrypt.c:88,9'
              BranchSideFuncs:
                - CryptRsaSelectScheme
                - CryptRsaDecrypt
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Decrypt.c:91,35'
              BranchSideFuncs:
                - CryptRsaSelectScheme
                - CryptRsaDecrypt
        - Branch String:   'tpm/src/command/Asymmetric/RSA_Decrypt.c:92,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Decrypt.c:93,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Decrypt.c:99,5'
              BranchSideFuncs:
                - CryptRsaDecrypt
      Callsites:
        - Src:             'tpm/src/command/Asymmetric/RSA_Decrypt.c:70,14'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Asymmetric/RSA_Decrypt.c:87,9'
          Dst:             IsLabelProperlyFormatted
        - Src:             'tpm/src/command/Asymmetric/RSA_Decrypt.c:91,14'
          Dst:             CryptRsaSelectScheme
        - Src:             'tpm/src/command/Asymmetric/RSA_Decrypt.c:100,27'
          Dst:             CryptRsaDecrypt
    - functionName:    TPM2_RSA_Encrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Asymmetric/RSA_Encrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         12
      ICount:          102
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - CryptRsaEncrypt
        - CryptRsaSelectScheme
        - HandleToObject
        - IsLabelProperlyFormatted
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Asymmetric/RSA_Encrypt.c:65,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Encrypt.c:66,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Encrypt.c:68,9'
              BranchSideFuncs:
                - IsLabelProperlyFormatted
                - CryptRsaSelectScheme
                - CryptRsaEncrypt
        - Branch String:   'tpm/src/command/Asymmetric/RSA_Encrypt.c:68,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Encrypt.c:69,9'
              BranchSideFuncs:
                - IsLabelProperlyFormatted
                - CryptRsaSelectScheme
                - CryptRsaEncrypt
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Encrypt.c:72,35'
              BranchSideFuncs:
                - IsLabelProperlyFormatted
                - CryptRsaSelectScheme
                - CryptRsaEncrypt
        - Branch String:   'tpm/src/command/Asymmetric/RSA_Encrypt.c:72,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Encrypt.c:73,9'
              BranchSideFuncs:
                - CryptRsaSelectScheme
                - CryptRsaEncrypt
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Encrypt.c:76,35'
              BranchSideFuncs:
                - CryptRsaSelectScheme
                - CryptRsaEncrypt
        - Branch String:   'tpm/src/command/Asymmetric/RSA_Encrypt.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Encrypt.c:78,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/RSA_Encrypt.c:82,5'
              BranchSideFuncs:
                - CryptRsaEncrypt
      Callsites:
        - Src:             'tpm/src/command/Asymmetric/RSA_Encrypt.c:62,14'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Asymmetric/RSA_Encrypt.c:72,9'
          Dst:             IsLabelProperlyFormatted
        - Src:             'tpm/src/command/Asymmetric/RSA_Encrypt.c:76,14'
          Dst:             CryptRsaSelectScheme
        - Src:             'tpm/src/command/Asymmetric/RSA_Encrypt.c:84,27'
          Dst:             CryptRsaEncrypt
    - functionName:    TPM2_ZGen_2Phase
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Asymmetric/ZGen_2Phase.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         29
      ICount:          220
      EdgeCount:       40
      CyclomaticComplexity: 13
      functionsReached:
        - CryptEcc2PhaseKeyExchange
        - CryptEccIsPointOnCurve
        - CryptEndCommit
        - CryptGenerateR
        - HandleToObject
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:67,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:70,8'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccIsPointOnCurve
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:71,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:72,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:70,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:72,9'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccIsPointOnCurve
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:76,14'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccIsPointOnCurve
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:79,12'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccIsPointOnCurve
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:83,18'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccIsPointOnCurve
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:79,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:80,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:81,5'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccIsPointOnCurve
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:84,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:85,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:88,32'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccIsPointOnCurve
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:88,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:90,9'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:92,32'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:92,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:94,9'
              BranchSideFuncs:
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:97,17'
              BranchSideFuncs:
                - CryptGenerateR
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:96,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:98,9'
              BranchSideFuncs:
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:103,36'
              BranchSideFuncs:
                - CryptEcc2PhaseKeyExchange
                - CryptEndCommit
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:111,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:112,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:114,8'
              BranchSideFuncs:
                - CryptEndCommit
        - Branch String:   'tpm/src/command/Asymmetric/ZGen_2Phase.c:114,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:115,24'
              BranchSideFuncs:
                - CryptEndCommit
            - BranchSide:      'tpm/src/command/Asymmetric/ZGen_2Phase.c:117,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Asymmetric/ZGen_2Phase.c:63,14'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Asymmetric/ZGen_2Phase.c:88,9'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'tpm/src/command/Asymmetric/ZGen_2Phase.c:92,9'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'tpm/src/command/Asymmetric/ZGen_2Phase.c:96,9'
          Dst:             CryptGenerateR
        - Src:             'tpm/src/command/Asymmetric/ZGen_2Phase.c:103,9'
          Dst:             CryptEcc2PhaseKeyExchange
        - Src:             'tpm/src/command/Asymmetric/ZGen_2Phase.c:115,9'
          Dst:             CryptEndCommit
    - functionName:    TPM2_AC_GetCapability
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/AttachedComponent/AC_GetCapability.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - AcCapabilitiesGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/AttachedComponent/AC_GetCapability.c:51,9'
          Dst:             AcCapabilitiesGet
    - functionName:    TPM2_AC_Send
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/AttachedComponent/AC_Send.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         18
      ICount:          137
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - AcSendObject
        - HandleGetType
        - HandleToObject
        - NvGetIndexInfo
        - NvWriteAccessChecks
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/AttachedComponent/AC_Send.c:72,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:77,13'
              BranchSideFuncs:
                - NvWriteAccessChecks
                - AcSendObject
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:86,27'
              BranchSideFuncs:
                - HandleGetType
                - AcSendObject
        - Branch String:   'tpm/src/command/AttachedComponent/AC_Send.c:78,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:79,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:80,5'
              BranchSideFuncs:
                - AcSendObject
        - Branch String:   'tpm/src/command/AttachedComponent/AC_Send.c:86,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:87,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/AttachedComponent/AC_Send.c:91,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:91,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:93,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/AttachedComponent/AC_Send.c:92,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:92,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:93,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/AttachedComponent/AC_Send.c:89,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:93,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/AC_Send.c:96,25'
              BranchSideFuncs:
                - AcSendObject
      Callsites:
        - Src:             'tpm/src/command/AttachedComponent/AC_Send.c:67,26'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/AttachedComponent/AC_Send.c:68,26'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/AttachedComponent/AC_Send.c:76,18'
          Dst:             NvWriteAccessChecks
        - Src:             'tpm/src/command/AttachedComponent/AC_Send.c:86,13'
          Dst:             HandleGetType
        - Src:             'tpm/src/command/AttachedComponent/AC_Send.c:96,12'
          Dst:             AcSendObject
    - functionName:    TPM2_Policy_AC_SendSelect
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         11
      ICount:          123
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:61,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:63,8'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:63,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:64,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:67,60'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:93,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:94,42'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:97,38'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:57,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:67,33'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:70,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:73,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:76,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:79,5'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:85,9'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:87,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:90,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:94,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:97,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:100,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:103,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c:106,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_Certify
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Attestation/Certify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         11
      ICount:          109
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CryptIsSchemeAnonymous
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - SignAttestInfo
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Attestation/Certify.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Certify.c:61,9'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - FillInAttestInfo
                - CryptIsSchemeAnonymous
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/Certify.c:62,31'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - FillInAttestInfo
                - CryptIsSchemeAnonymous
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/Certify.c:62,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Certify.c:63,9'
              BranchSideFuncs:
                - FillInAttestInfo
                - CryptIsSchemeAnonymous
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/Certify.c:69,9'
              BranchSideFuncs:
                - FillInAttestInfo
                - CryptIsSchemeAnonymous
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/Certify.c:79,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Certify.c:80,21'
              BranchSideFuncs:
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/Certify.c:82,21'
              BranchSideFuncs:
                - SignAttestInfo
      Callsites:
        - Src:             'tpm/src/command/Attestation/Certify.c:57,35'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/Certify.c:58,35'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/Certify.c:60,9'
          Dst:             IsSigningObject
        - Src:             'tpm/src/command/Attestation/Certify.c:62,9'
          Dst:             CryptSelectSignScheme
        - Src:             'tpm/src/command/Attestation/Certify.c:68,5'
          Dst:             FillInAttestInfo
        - Src:             'tpm/src/command/Attestation/Certify.c:79,8'
          Dst:             CryptIsSchemeAnonymous
        - Src:             'tpm/src/command/Attestation/Certify.c:88,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_CertifyCreation
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Attestation/CertifyCreation.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         10
      ICount:          116
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - MemoryEqual2B
        - SignAttestInfo
        - TicketComputeCreation
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Attestation/CertifyCreation.c:62,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyCreation.c:63,9'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - TicketComputeCreation
                - MemoryEqual2B
                - FillInAttestInfo
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/CertifyCreation.c:64,31'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - TicketComputeCreation
                - MemoryEqual2B
                - FillInAttestInfo
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/CertifyCreation.c:64,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyCreation.c:65,9'
              BranchSideFuncs:
                - TicketComputeCreation
                - MemoryEqual2B
                - FillInAttestInfo
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/CertifyCreation.c:70,9'
              BranchSideFuncs:
                - TicketComputeCreation
                - MemoryEqual2B
                - FillInAttestInfo
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/CertifyCreation.c:72,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyCreation.c:73,9'
              BranchSideFuncs:
                - FillInAttestInfo
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/CertifyCreation.c:78,9'
              BranchSideFuncs:
                - FillInAttestInfo
                - SignAttestInfo
      Callsites:
        - Src:             'tpm/src/command/Attestation/CertifyCreation.c:59,35'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/CertifyCreation.c:60,35'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/CertifyCreation.c:62,9'
          Dst:             IsSigningObject
        - Src:             'tpm/src/command/Attestation/CertifyCreation.c:64,9'
          Dst:             CryptSelectSignScheme
        - Src:             'tpm/src/command/Attestation/CertifyCreation.c:69,5'
          Dst:             TicketComputeCreation
        - Src:             'tpm/src/command/Attestation/CertifyCreation.c:72,9'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/Attestation/CertifyCreation.c:77,5'
          Dst:             FillInAttestInfo
        - Src:             'tpm/src/command/Attestation/CertifyCreation.c:92,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_CertifyX509
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Attestation/CertifyX509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         83
      ICount:          795
      EdgeCount:       111
      CyclomaticComplexity: 30
      functionsReached:
        - ASN1EndEncapsulation
        - ASN1InitialializeMarshalContext
        - ASN1NextTag
        - ASN1PushInteger
        - ASN1PushTagAndLength
        - ASN1PushUINT
        - ASN1StartMarshalContext
        - ASN1UnmarshalContextInitialize
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
        - CryptSelectSignScheme
        - CryptSign
        - DebugDumpBuffer
        - DebugFileInit
        - HandleToObject
        - IsSigningObject
        - MemoryCopy
        - TpmFail
        - X509AddPublicKey
        - X509AddSigningAlgorithm
        - X509ProcessExtensions
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:93,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:94,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:96,25'
              BranchSideFuncs:
                - IsSigningObject
                - CryptSelectSignScheme
                - X509AddPublicKey
                - ASN1UnmarshalContextInitialize
                - ASN1NextTag
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:96,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:97,9'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - X509AddPublicKey
                - ASN1UnmarshalContextInitialize
                - ASN1NextTag
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:100,31'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - X509AddPublicKey
                - ASN1UnmarshalContextInitialize
                - ASN1NextTag
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:100,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:101,9'
              BranchSideFuncs:
                - X509AddPublicKey
                - ASN1UnmarshalContextInitialize
                - ASN1NextTag
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:103,31'
              BranchSideFuncs:
                - X509AddPublicKey
                - ASN1UnmarshalContextInitialize
                - ASN1NextTag
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:103,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:104,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:108,18'
              BranchSideFuncs:
                - ASN1UnmarshalContextInitialize
                - ASN1NextTag
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:107,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:109,9'
              BranchSideFuncs:
                - ASN1NextTag
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:111,14'
              BranchSideFuncs:
                - ASN1NextTag
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:114,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:114,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:115,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:113,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:115,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:120,5'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:120,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:122,36'
              BranchSideFuncs:
                - ASN1NextTag
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:149,13'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:126,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:127,13'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:128,16'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:128,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:130,50'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:136,21'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:133,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:134,17'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:135,9'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:136,17'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:138,16'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:145,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:138,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:139,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:140,48'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
                - ASN1NextTag
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:149,33'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:149,37'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:151,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:149,59'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:149,63'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:151,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:150,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:150,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:151,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:149,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:151,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:154,11'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:154,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:155,35'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:159,9'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
                - X509AddSigningAlgorithm
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:160,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:160,42'
              BranchSideFuncs:
                - X509AddSigningAlgorithm
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:164,36'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:159,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:161,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:164,36'
              BranchSideFuncs:
                - X509ProcessExtensions
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:165,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:169,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:179,37'
              BranchSideFuncs:
                - ASN1InitialializeMarshalContext
                - ASN1StartMarshalContext
                - X509AddPublicKey
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
                - X509AddSigningAlgorithm
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:187,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:190,46'
              BranchSideFuncs:
                - X509AddSigningAlgorithm
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:195,26'
              BranchSideFuncs:
                - CryptHashStart
                - TpmFail
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:198,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:198,9'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:202,24'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:202,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:205,32'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:205,32'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
                - CryptDigestUpdate
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:205,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:206,46'
              BranchSideFuncs:
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:208,37'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - ASN1PushInteger
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:230,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:231,31'
              BranchSideFuncs:
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:234,70'
              BranchSideFuncs:
                - ASN1PushTagAndLength
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:241,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:242,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:244,51'
              BranchSideFuncs:
                - CryptHashStart
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
                - CryptDigestUpdate
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:245,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:246,42'
              BranchSideFuncs:
                - CryptDigestUpdate
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:247,28'
              BranchSideFuncs:
                - CryptHashEnd2B
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
                - MemoryCopy
        - Branch String:   'tpm/src/command/Attestation/CertifyX509.c:254,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:256,24'
              BranchSideFuncs:
                - MemoryCopy
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
            - BranchSide:      'tpm/src/command/Attestation/CertifyX509.c:259,31'
              BranchSideFuncs:
                - DebugDumpBuffer
                - ASN1EndEncapsulation
                - MemoryCopy
                - DebugDumpBuffer
                - CryptSign
      Callsites:
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:70,36'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:71,36'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:86,5'
          Dst:             DebugFileInit
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:87,5'
          Dst:             DebugDumpBuffer
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:96,9'
          Dst:             IsSigningObject
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:100,9'
          Dst:             CryptSelectSignScheme
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:103,8'
          Dst:             X509AddPublicKey
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:107,9'
          Dst:             ASN1UnmarshalContextInitialize
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:111,14'
          Dst:             ASN1NextTag
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:125,18'
          Dst:             ASN1NextTag
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:160,12'
          Dst:             X509AddSigningAlgorithm
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:164,14'
          Dst:             X509ProcessExtensions
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:177,5'
          Dst:             ASN1InitialializeMarshalContext
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:181,5'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:184,43'
          Dst:             X509AddPublicKey
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:190,13'
          Dst:             X509AddSigningAlgorithm
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:197,31'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:198,9'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:206,13'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:208,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:210,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:212,9'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:217,9'
          Dst:             ASN1PushInteger
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:221,5'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:222,5'
          Dst:             ASN1PushUINT
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:224,9'
          Dst:             ASN1EndEncapsulation
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:234,13'
          Dst:             ASN1PushTagAndLength
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:244,29'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:246,9'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:247,5'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:256,13'
          Dst:             MemoryCopy
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:259,9'
          Dst:             DebugDumpBuffer
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:266,9'
          Dst:             ASN1EndEncapsulation
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:268,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:272,5'
          Dst:             DebugDumpBuffer
        - Src:             'tpm/src/command/Attestation/CertifyX509.c:277,14'
          Dst:             CryptSign
    - functionName:    TPM2_GetCommandAuditDigest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Attestation/GetCommandAuditDigest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         13
      ICount:          113
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - CommandAuditGetDigest
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - SignAttestInfo
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Attestation/GetCommandAuditDigest.c:65,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/GetCommandAuditDigest.c:66,9'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - FillInAttestInfo
                - CommandAuditGetDigest
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/GetCommandAuditDigest.c:67,31'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - FillInAttestInfo
                - CommandAuditGetDigest
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/GetCommandAuditDigest.c:67,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/GetCommandAuditDigest.c:68,9'
              BranchSideFuncs:
                - FillInAttestInfo
                - CommandAuditGetDigest
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/GetCommandAuditDigest.c:72,22'
              BranchSideFuncs:
                - FillInAttestInfo
                - CommandAuditGetDigest
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/GetCommandAuditDigest.c:94,33'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/GetCommandAuditDigest.c:94,36'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/GetCommandAuditDigest.c:98,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Attestation/GetCommandAuditDigest.c:94,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/GetCommandAuditDigest.c:96,38'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/GetCommandAuditDigest.c:98,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Attestation/GetCommandAuditDigest.c:63,30'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/GetCommandAuditDigest.c:65,9'
          Dst:             IsSigningObject
        - Src:             'tpm/src/command/Attestation/GetCommandAuditDigest.c:67,9'
          Dst:             CryptSelectSignScheme
        - Src:             'tpm/src/command/Attestation/GetCommandAuditDigest.c:72,5'
          Dst:             FillInAttestInfo
        - Src:             'tpm/src/command/Attestation/GetCommandAuditDigest.c:81,5'
          Dst:             CommandAuditGetDigest
        - Src:             'tpm/src/command/Attestation/GetCommandAuditDigest.c:87,14'
          Dst:             SignAttestInfo
    - functionName:    TPM2_GetSessionAuditDigest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Attestation/GetSessionAuditDigest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         10
      ICount:          112
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - SessionGet
        - SignAttestInfo
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Attestation/GetSessionAuditDigest.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/GetSessionAuditDigest.c:67,9'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - FillInAttestInfo
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/GetSessionAuditDigest.c:68,31'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - FillInAttestInfo
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/GetSessionAuditDigest.c:68,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/GetSessionAuditDigest.c:69,9'
              BranchSideFuncs:
                - FillInAttestInfo
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/GetSessionAuditDigest.c:72,8'
              BranchSideFuncs:
                - FillInAttestInfo
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/GetSessionAuditDigest.c:72,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/GetSessionAuditDigest.c:73,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/GetSessionAuditDigest.c:77,22'
              BranchSideFuncs:
                - FillInAttestInfo
                - SignAttestInfo
      Callsites:
        - Src:             'tpm/src/command/Attestation/GetSessionAuditDigest.c:62,27'
          Dst:             SessionGet
        - Src:             'tpm/src/command/Attestation/GetSessionAuditDigest.c:64,30'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/GetSessionAuditDigest.c:66,9'
          Dst:             IsSigningObject
        - Src:             'tpm/src/command/Attestation/GetSessionAuditDigest.c:68,9'
          Dst:             CryptSelectSignScheme
        - Src:             'tpm/src/command/Attestation/GetSessionAuditDigest.c:77,5'
          Dst:             FillInAttestInfo
        - Src:             'tpm/src/command/Attestation/GetSessionAuditDigest.c:89,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_GetTime
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Attestation/GetTime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         8
      ICount:          93
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - SignAttestInfo
        - TimeFillInfo
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Attestation/GetTime.c:63,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/GetTime.c:64,9'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - FillInAttestInfo
                - TimeFillInfo
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/GetTime.c:65,31'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - FillInAttestInfo
                - TimeFillInfo
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/GetTime.c:65,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/GetTime.c:66,9'
              BranchSideFuncs:
                - FillInAttestInfo
                - TimeFillInfo
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/GetTime.c:70,22'
              BranchSideFuncs:
                - FillInAttestInfo
                - TimeFillInfo
                - SignAttestInfo
      Callsites:
        - Src:             'tpm/src/command/Attestation/GetTime.c:61,30'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/GetTime.c:63,9'
          Dst:             IsSigningObject
        - Src:             'tpm/src/command/Attestation/GetTime.c:65,9'
          Dst:             CryptSelectSignScheme
        - Src:             'tpm/src/command/Attestation/GetTime.c:70,5'
          Dst:             FillInAttestInfo
        - Src:             'tpm/src/command/Attestation/GetTime.c:75,5'
          Dst:             TimeFillInfo
        - Src:             'tpm/src/command/Attestation/GetTime.c:83,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_Quote
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Attestation/Quote.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         10
      ICount:          104
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - PCRComputeCurrentDigest
        - SignAttestInfo
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Attestation/Quote.c:59,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Quote.c:60,9'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - FillInAttestInfo
                - PCRComputeCurrentDigest
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/Quote.c:61,31'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - FillInAttestInfo
                - PCRComputeCurrentDigest
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/Quote.c:61,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Quote.c:62,9'
              BranchSideFuncs:
                - FillInAttestInfo
                - PCRComputeCurrentDigest
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/Attestation/Quote.c:69,22'
              BranchSideFuncs:
                - FillInAttestInfo
                - PCRComputeCurrentDigest
                - SignAttestInfo
        - Branch String:   'tpm/src/command/Attestation/Quote.c:80,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Quote.c:81,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/Quote.c:85,9'
              BranchSideFuncs:
                - PCRComputeCurrentDigest
                - SignAttestInfo
      Callsites:
        - Src:             'tpm/src/command/Attestation/Quote.c:57,32'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/Quote.c:59,9'
          Dst:             IsSigningObject
        - Src:             'tpm/src/command/Attestation/Quote.c:61,9'
          Dst:             CryptSelectSignScheme
        - Src:             'tpm/src/command/Attestation/Quote.c:69,5'
          Dst:             FillInAttestInfo
        - Src:             'tpm/src/command/Attestation/Quote.c:84,5'
          Dst:             PCRComputeCurrentDigest
        - Src:             'tpm/src/command/Attestation/Quote.c:93,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_GetCapability
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Capability/GetCapability.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         37
      ICount:          364
      EdgeCount:       39
      CyclomaticComplexity: 4
      functionsReached:
        - ActGetCapabilityData
        - AlgorithmCapGetImplemented
        - CommandAuditCapGetCCList
        - CommandCapGetCCList
        - CryptCapGetECCCurve
        - HandleGetType
        - NvCapGetIndex
        - NvCapGetPersistent
        - ObjectCapGetLoaded
        - PCRCapGetAllocation
        - PCRCapGetHandles
        - PCRCapGetProperties
        - PermanentCapGetHandles
        - PermanentHandleGetPolicy
        - PhysicalPresenceCapGetCCList
        - SessionCapGetLoaded
        - SessionCapGetSaved
        - TPMCapGetProperties
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Capability/GetCapability.c:60,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:64,29'
              BranchSideFuncs:
                - AlgorithmCapGetImplemented
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:67,46'
              BranchSideFuncs:
                - HandleGetType
                - PermanentCapGetHandles
                - PCRCapGetHandles
                - SessionCapGetSaved
                - SessionCapGetLoaded
                - NvCapGetIndex
                - NvCapGetPersistent
                - ObjectCapGetLoaded
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:116,25'
              BranchSideFuncs:
                - CommandCapGetCCList
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:120,25'
              BranchSideFuncs:
                - PhysicalPresenceCapGetCCList
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:124,25'
              BranchSideFuncs:
                - CommandAuditCapGetCCList
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:128,16'
              BranchSideFuncs:
                - PCRCapGetAllocation
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:135,29'
              BranchSideFuncs:
                - PCRCapGetProperties
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:139,25'
              BranchSideFuncs:
                - TPMCapGetProperties
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:144,32'
              BranchSideFuncs:
                - CryptCapGetECCCurve
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:148,42'
              BranchSideFuncs:
                - HandleGetType
                - PermanentHandleGetPolicy
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:154,25'
              BranchSideFuncs:
                - ActGetCapabilityData
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:160,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:164,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Capability/GetCapability.c:67,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:72,37'
              BranchSideFuncs:
                - ObjectCapGetLoaded
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:77,37'
              BranchSideFuncs:
                - NvCapGetPersistent
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:82,37'
              BranchSideFuncs:
                - NvCapGetIndex
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:87,37'
              BranchSideFuncs:
                - SessionCapGetLoaded
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:96,37'
              BranchSideFuncs:
                - SessionCapGetSaved
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:101,37'
              BranchSideFuncs:
                - PCRCapGetHandles
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:106,37'
              BranchSideFuncs:
                - PermanentCapGetHandles
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:110,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Capability/GetCapability.c:128,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:129,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:131,37'
              BranchSideFuncs:
                - PCRCapGetAllocation
        - Branch String:   'tpm/src/command/Capability/GetCapability.c:148,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:149,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:151,29'
              BranchSideFuncs:
                - PermanentHandleGetPolicy
        - Branch String:   'tpm/src/command/Capability/GetCapability.c:155,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:155,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:156,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Capability/GetCapability.c:154,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:156,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Capability/GetCapability.c:158,29'
              BranchSideFuncs:
                - ActGetCapabilityData
      Callsites:
        - Src:             'tpm/src/command/Capability/GetCapability.c:63,29'
          Dst:             AlgorithmCapGetImplemented
        - Src:             'tpm/src/command/Capability/GetCapability.c:67,20'
          Dst:             HandleGetType
        - Src:             'tpm/src/command/Capability/GetCapability.c:71,37'
          Dst:             ObjectCapGetLoaded
        - Src:             'tpm/src/command/Capability/GetCapability.c:76,37'
          Dst:             NvCapGetPersistent
        - Src:             'tpm/src/command/Capability/GetCapability.c:81,37'
          Dst:             NvCapGetIndex
        - Src:             'tpm/src/command/Capability/GetCapability.c:86,37'
          Dst:             SessionCapGetLoaded
        - Src:             'tpm/src/command/Capability/GetCapability.c:95,37'
          Dst:             SessionCapGetSaved
        - Src:             'tpm/src/command/Capability/GetCapability.c:100,37'
          Dst:             PCRCapGetHandles
        - Src:             'tpm/src/command/Capability/GetCapability.c:105,37'
          Dst:             PermanentCapGetHandles
        - Src:             'tpm/src/command/Capability/GetCapability.c:115,29'
          Dst:             CommandCapGetCCList
        - Src:             'tpm/src/command/Capability/GetCapability.c:119,29'
          Dst:             PhysicalPresenceCapGetCCList
        - Src:             'tpm/src/command/Capability/GetCapability.c:123,29'
          Dst:             CommandAuditCapGetCCList
        - Src:             'tpm/src/command/Capability/GetCapability.c:131,17'
          Dst:             PCRCapGetAllocation
        - Src:             'tpm/src/command/Capability/GetCapability.c:134,29'
          Dst:             PCRCapGetProperties
        - Src:             'tpm/src/command/Capability/GetCapability.c:138,29'
          Dst:             TPMCapGetProperties
        - Src:             'tpm/src/command/Capability/GetCapability.c:143,29'
          Dst:             CryptCapGetECCCurve
        - Src:             'tpm/src/command/Capability/GetCapability.c:148,16'
          Dst:             HandleGetType
        - Src:             'tpm/src/command/Capability/GetCapability.c:150,29'
          Dst:             PermanentHandleGetPolicy
        - Src:             'tpm/src/command/Capability/GetCapability.c:157,29'
          Dst:             ActGetCapabilityData
    - functionName:    TPM2_TestParms
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Capability/TestParms.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM2_ACT_SetTimeout
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ACT_SetTimeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ActCounterUpdate
        - ActGetSignaled
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/ClockTimer/ACT_SetTimeout.c:55,41'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_SetTimeout.c:55,60'
              BranchSideFuncs:
                - ActGetSignaled
                - ActCounterUpdate
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_SetTimeout.c:57,29'
              BranchSideFuncs:
                - ActCounterUpdate
        - Branch String:   'tpm/src/command/ClockTimer/ACT_SetTimeout.c:55,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_SetTimeout.c:56,9'
              BranchSideFuncs:
                - ActCounterUpdate
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_SetTimeout.c:57,29'
              BranchSideFuncs:
                - ActCounterUpdate
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ACT_SetTimeout.c:55,45'
          Dst:             ActGetSignaled
        - Src:             'tpm/src/command/ClockTimer/ACT_SetTimeout.c:57,12'
          Dst:             ActCounterUpdate
    - functionName:    ActGetCapabilityData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ACT_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 264
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - actHandle
        - maxCount
        - actList
      BBCount:         30
      ICount:          183
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - ActIsImplemented
        - _plat__ACT_GetImplemented
        - _plat__ACT_GetRemaining
        - _plat__ACT_GetSignaled
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:228,35'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:228,39'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:229,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:228,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:229,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:231,8'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
                - ActIsImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:231,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:232,18'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
                - ActIsImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:234,5'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
                - ActIsImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:234,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:236,22'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
                - ActIsImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:263,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:237,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:239,33'
              BranchSideFuncs:
                - ActIsImplemented
                - _plat__ACT_GetImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:257,42'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
                - ActIsImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:239,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:241,43'
              BranchSideFuncs:
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
                - _plat__ACT_GetImplemented
                - ActIsImplemented
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:254,9'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
                - ActIsImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:246,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:247,21'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
                - ActIsImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:249,21'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
                - ActIsImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:250,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:251,21'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
                - ActIsImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:252,17'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
                - ActIsImplemented
                - _plat__ACT_GetRemaining
                - _plat__ACT_GetSignaled
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:257,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:258,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:239,16'
          Dst:             ActIsImplemented
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:245,36'
          Dst:             _plat__ACT_GetRemaining
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:246,20'
          Dst:             _plat__ACT_GetSignaled
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:257,16'
          Dst:             _plat__ACT_GetImplemented
    - functionName:    ActIsImplemented
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ACT_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - act
      BBCount:         9
      ICount:          38
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - _plat__ACT_GetImplemented
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:159,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:164,42'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:164,42'
              BranchSideFuncs:
                - _plat__ACT_GetImplemented
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:166,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:164,16'
          Dst:             _plat__ACT_GetImplemented
    - functionName:    ActCounterUpdate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ACT_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - handle
        - newValue
      BBCount:         15
      ICount:          99
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _plat__ACT_GetImplemented
        - _plat__ACT_UpdateCounter
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:184,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:185,16'
              BranchSideFuncs:
                - _plat__ACT_UpdateCounter
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:190,12'
              BranchSideFuncs:
                - _plat__ACT_UpdateCounter
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:190,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:191,13'
              BranchSideFuncs:
                - _plat__ACT_UpdateCounter
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:194,38'
              BranchSideFuncs:
                - _plat__ACT_UpdateCounter
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:191,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:191,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:194,38'
              BranchSideFuncs:
                - _plat__ACT_UpdateCounter
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:194,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:195,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:199,43'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:184,9'
          Dst:             _plat__ACT_GetImplemented
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:194,13'
          Dst:             _plat__ACT_UpdateCounter
    - functionName:    _ActSaveState
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ACT_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - act
        - actData
      BBCount:         14
      ICount:          84
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _plat__ACT_GetRemaining
        - _plat__ACT_GetSignaled
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:112,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:115,13'
              BranchSideFuncs:
                - _plat__ACT_GetSignaled
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:118,31'
              BranchSideFuncs:
                - _plat__ACT_GetSignaled
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:115,47'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:115,51'
              BranchSideFuncs:
                - _plat__ACT_GetSignaled
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:117,5'
              BranchSideFuncs:
                - _plat__ACT_GetSignaled
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:115,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:116,13'
              BranchSideFuncs:
                - _plat__ACT_GetSignaled
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:117,5'
              BranchSideFuncs:
                - _plat__ACT_GetSignaled
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:118,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:118,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:119,33'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:109,26'
          Dst:             _plat__ACT_GetRemaining
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:118,8'
          Dst:             _plat__ACT_GetSignaled
    - functionName:    ActShutdown
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ACT_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - state
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _ActSaveState
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:141,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:141,8'
              BranchSideFuncs:
                - _ActSaveState
                - _ActSaveState
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:144,24'
              BranchSideFuncs:
                - _ActSaveState
                - _ActSaveState
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:148,9'
          Dst:             _ActSaveState
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:148,9'
          Dst:             _ActSaveState
    - functionName:    ActGetSignaled
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ACT_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - actHandle
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__ACT_GetSignaled
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:128,12'
          Dst:             _plat__ACT_GetSignaled
    - functionName:    _ActResume
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ACT_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - act
        - actData
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _plat__ACT_SetSignaled
        - _plat__ACT_UpdateCounter
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:59,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:60,34'
              BranchSideFuncs:
                - _plat__ACT_UpdateCounter
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:62,16'
              BranchSideFuncs:
                - _plat__ACT_SetSignaled
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:60,9'
          Dst:             _plat__ACT_UpdateCounter
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:63,9'
          Dst:             _plat__ACT_SetSignaled
    - functionName:    ActStartup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ACT_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - type
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _ActResume
        - _plat__ACT_EnableTicks
        - _plat__ACT_Initialize
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:75,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:76,30'
              BranchSideFuncs:
                - _ActResume
                - _ActResume
                - _plat__ACT_EnableTicks
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:78,36'
              BranchSideFuncs:
                - _ActResume
                - _ActResume
                - _plat__ACT_EnableTicks
        - Branch String:   'tpm/src/command/ClockTimer/ACT_spt.c:82,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:84,24'
              BranchSideFuncs:
                - _plat__ACT_EnableTicks
            - BranchSide:      'tpm/src/command/ClockTimer/ACT_spt.c:95,9'
              BranchSideFuncs:
                - _ActResume
                - _ActResume
                - _plat__ACT_EnableTicks
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:71,5'
          Dst:             _plat__ACT_Initialize
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:95,9'
          Dst:             _ActResume
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:95,9'
          Dst:             _ActResume
        - Src:             'tpm/src/command/ClockTimer/ACT_spt.c:100,5'
          Dst:             _plat__ACT_EnableTicks
    - functionName:    TPM2_ClockRateAdjust
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ClockRateAdjust.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TimeSetAdjustRate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ClockRateAdjust.c:49,5'
          Dst:             TimeSetAdjustRate
    - functionName:    TPM2_ClockSet
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ClockSet.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         11
      ICount:          58
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - TimeClockUpdate
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/ClockTimer/ClockSet.c:53,44'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ClockSet.c:53,47'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/ClockTimer/ClockSet.c:54,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/ClockTimer/ClockSet.c:53,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ClockSet.c:54,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/ClockTimer/ClockSet.c:58,5'
              BranchSideFuncs:
                - TimeClockUpdate
        - Branch String:   'tpm/src/command/ClockTimer/ClockSet.c:58,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/ClockTimer/ClockSet.c:58,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/ClockTimer/ClockSet.c:60,21'
              BranchSideFuncs:
                - TimeClockUpdate
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ClockSet.c:60,5'
          Dst:             TimeClockUpdate
    - functionName:    TPM2_ReadClock
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/ClockTimer/ReadClock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - out
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TimeFillInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/ClockTimer/ReadClock.c:50,5'
          Dst:             TimeFillInfo
    - functionName:    TPM2_SetCommandCodeAuditStatus
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         34
      ICount:          181
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - CommandAuditClear
        - CommandAuditSet
        - NvWrite
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:53,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:53,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:58,8'
              BranchSideFuncs:
                - NvWrite
                - CommandAuditClear
                - CommandAuditSet
                - NvWrite
        - Branch String:   'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:58,37'
          Branch Sides:
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:58,40'
              BranchSideFuncs:
                - NvWrite
                - CommandAuditClear
                - CommandAuditSet
                - NvWrite
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:79,16'
              BranchSideFuncs:
                - NvWrite
                - CommandAuditClear
                - CommandAuditSet
        - Branch String:   'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:58,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:61,12'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:79,16'
              BranchSideFuncs:
                - NvWrite
                - CommandAuditClear
                - CommandAuditSet
        - Branch String:   'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:61,35'
          Branch Sides:
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:61,38'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:62,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:61,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:62,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:65,27'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:82,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:85,32'
              BranchSideFuncs:
                - CommandAuditSet
                - NvWrite
                - CommandAuditClear
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:89,15'
              BranchSideFuncs:
                - NvWrite
                - CommandAuditClear
        - Branch String:   'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:85,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:85,59'
              BranchSideFuncs:
                - NvWrite
                - CommandAuditClear
                - CommandAuditSet
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:86,25'
              BranchSideFuncs:
                - NvWrite
                - CommandAuditClear
                - CommandAuditSet
        - Branch String:   'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:89,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:91,34'
              BranchSideFuncs:
                - CommandAuditClear
                - NvWrite
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:95,12'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:91,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:91,63'
              BranchSideFuncs:
                - NvWrite
                - CommandAuditClear
            - BranchSide:      'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:92,25'
              BranchSideFuncs:
                - NvWrite
                - CommandAuditClear
      Callsites:
        - Src:             'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:74,9'
          Dst:             NvWrite
        - Src:             'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:85,16'
          Dst:             CommandAuditSet
        - Src:             'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:91,16'
          Dst:             CommandAuditClear
        - Src:             'tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c:97,13'
          Dst:             NvWrite
    - functionName:    TPM2_ContextLoad
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Context/ContextLoad.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         34
      ICount:          255
      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:   'tpm/src/command/Context/ContextLoad.c:85,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:86,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:90,20'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - ComputeContextIntegrity
                - MemoryEqual2B
                - ComputeContextProtectionKey
                - CryptSymmetricDecrypt
                - MemoryEqual
                - TpmFail
                - NvClearOrderly
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
                - TpmFail
                - HierarchyIsEnabled
                - ObjectContextLoad
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:90,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:91,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:96,18'
              BranchSideFuncs:
                - ComputeContextIntegrity
                - MemoryEqual2B
                - ComputeContextProtectionKey
                - CryptSymmetricDecrypt
                - MemoryEqual
                - TpmFail
                - NvClearOrderly
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
                - TpmFail
                - HierarchyIsEnabled
                - ObjectContextLoad
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:96,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:97,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:104,30'
              BranchSideFuncs:
                - ComputeContextIntegrity
                - MemoryEqual2B
                - ComputeContextProtectionKey
                - CryptSymmetricDecrypt
                - MemoryEqual
                - TpmFail
                - NvClearOrderly
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
                - TpmFail
                - HierarchyIsEnabled
                - ObjectContextLoad
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:107,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:108,9'
              BranchSideFuncs:
                - ComputeContextProtectionKey
                - CryptSymmetricDecrypt
                - MemoryEqual
                - TpmFail
                - NvClearOrderly
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
                - TpmFail
                - HierarchyIsEnabled
                - ObjectContextLoad
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:110,34'
              BranchSideFuncs:
                - ComputeContextProtectionKey
                - CryptSymmetricDecrypt
                - MemoryEqual
                - TpmFail
                - NvClearOrderly
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
                - TpmFail
                - HierarchyIsEnabled
                - ObjectContextLoad
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:123,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:124,9'
              BranchSideFuncs:
                - NvClearOrderly
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
                - TpmFail
                - HierarchyIsEnabled
                - ObjectContextLoad
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:127,12'
              BranchSideFuncs:
                - NvClearOrderly
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
                - TpmFail
                - HierarchyIsEnabled
                - ObjectContextLoad
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:133,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:139,16'
              BranchSideFuncs:
                - HierarchyIsEnabled
                - ObjectContextLoad
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:161,16'
              BranchSideFuncs:
                - NvClearOrderly
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:161,16'
              BranchSideFuncs:
                - NvClearOrderly
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:192,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:139,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:140,17'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:143,13'
              BranchSideFuncs:
                - HierarchyIsEnabled
                - ObjectContextLoad
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:147,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:148,17'
              BranchSideFuncs:
                - ObjectContextLoad
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:152,55'
              BranchSideFuncs:
                - ObjectContextLoad
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:153,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:154,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:156,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:161,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:162,17'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:167,13'
              BranchSideFuncs:
                - NvClearOrderly
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:167,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:167,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:171,55'
              BranchSideFuncs:
                - SequenceNumberForSavedContextIsValid
                - SessionContextLoad
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:171,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:172,17'
              BranchSideFuncs:
                - SessionContextLoad
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:177,50'
              BranchSideFuncs:
                - SessionContextLoad
        - Branch String:   'tpm/src/command/Context/ContextLoad.c:178,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:179,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/ContextLoad.c:181,33'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Context/ContextLoad.c:79,18'
          Dst:             HandleGetType
        - Src:             'tpm/src/command/Context/ContextLoad.c:84,14'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'tpm/src/command/Context/ContextLoad.c:90,28'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Context/ContextLoad.c:104,5'
          Dst:             ComputeContextIntegrity
        - Src:             'tpm/src/command/Context/ContextLoad.c:107,9'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/Context/ContextLoad.c:110,5'
          Dst:             ComputeContextProtectionKey
        - Src:             'tpm/src/command/Context/ContextLoad.c:113,5'
          Dst:             CryptSymmetricDecrypt
        - Src:             'tpm/src/command/Context/ContextLoad.c:123,9'
          Dst:             MemoryEqual
        - Src:             'tpm/src/command/Context/ContextLoad.c:124,9'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/ContextLoad.c:140,17'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/ContextLoad.c:147,17'
          Dst:             HierarchyIsEnabled
        - Src:             'tpm/src/command/Context/ContextLoad.c:152,17'
          Dst:             ObjectContextLoad
        - Src:             'tpm/src/command/Context/ContextLoad.c:162,17'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/ContextLoad.c:167,13'
          Dst:             NvClearOrderly
        - Src:             'tpm/src/command/Context/ContextLoad.c:171,17'
          Dst:             SequenceNumberForSavedContextIsValid
        - Src:             'tpm/src/command/Context/ContextLoad.c:177,17'
          Dst:             SessionContextLoad
        - Src:             'tpm/src/command/Context/ContextLoad.c:192,13'
          Dst:             TpmFail
    - functionName:    TPM2_ContextSave
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Context/ContextSave.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         40
      ICount:          410
      EdgeCount:       43
      CyclomaticComplexity: 5
      functionsReached:
        - ComputeContextIntegrity
        - ComputeContextProtectionKey
        - CryptHashGetDigestSize
        - CryptRsaLoadPrivateExponent
        - CryptSymmetricEncrypt
        - HandleGetType
        - HandleToObject
        - MemoryCopy
        - NvClearOrderly
        - ObjectGetHierarchy
        - ObjectIsSequence
        - SequenceDataExport
        - SessionContextSave
        - SessionGet
        - TPM2B_DIGEST_Marshal
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Context/ContextSave.c:70,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:70,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:86,32'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - HandleGetType
                - SessionGet
                - TpmFail
                - TpmFail
                - MemoryCopy
                - SessionContextSave
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
                - HandleToObject
                - ObjectIsSequence
                - TpmFail
                - MemoryCopy
                - ObjectIsSequence
                - ObjectGetHierarchy
                - SequenceDataExport
                - TpmFail
                - CryptRsaLoadPrivateExponent
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextSave.c:97,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:101,56'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsSequence
                - TpmFail
                - MemoryCopy
                - ObjectIsSequence
                - ObjectGetHierarchy
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
                - SequenceDataExport
                - TpmFail
                - CryptRsaLoadPrivateExponent
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:155,43'
              BranchSideFuncs:
                - SessionGet
                - TpmFail
                - TpmFail
                - MemoryCopy
                - SessionContextSave
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:155,43'
              BranchSideFuncs:
                - SessionGet
                - TpmFail
                - TpmFail
                - MemoryCopy
                - SessionContextSave
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:197,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextSave.c:118,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:118,21'
              BranchSideFuncs:
                - CryptRsaLoadPrivateExponent
                - TpmFail
                - MemoryCopy
                - ObjectIsSequence
                - ObjectGetHierarchy
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
                - SequenceDataExport
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:122,13'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ObjectIsSequence
                - ObjectGetHierarchy
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
                - SequenceDataExport
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextSave.c:117,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:119,46'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ObjectIsSequence
                - ObjectGetHierarchy
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
                - SequenceDataExport
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:122,13'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ObjectIsSequence
                - ObjectGetHierarchy
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
                - SequenceDataExport
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextSave.c:122,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:122,13'
              BranchSideFuncs:
                - MemoryCopy
                - ObjectIsSequence
                - ObjectGetHierarchy
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
                - SequenceDataExport
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:125,24'
              BranchSideFuncs:
                - MemoryCopy
                - ObjectIsSequence
                - ObjectGetHierarchy
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
                - SequenceDataExport
                - TpmFail
        - Branch String:   'tpm/src/command/Context/ContextSave.c:130,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:131,17'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:134,40'
              BranchSideFuncs:
                - ObjectIsSequence
                - ObjectGetHierarchy
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
                - SequenceDataExport
        - Branch String:   'tpm/src/command/Context/ContextSave.c:138,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:140,17'
              BranchSideFuncs:
                - SequenceDataExport
                - ObjectGetHierarchy
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:146,22'
              BranchSideFuncs:
                - ObjectGetHierarchy
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
        - Branch String:   'tpm/src/command/Context/ContextSave.c:165,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:165,13'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - SessionContextSave
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:172,13'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - SessionContextSave
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
        - Branch String:   'tpm/src/command/Context/ContextSave.c:172,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:172,13'
              BranchSideFuncs:
                - MemoryCopy
                - SessionContextSave
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:175,17'
              BranchSideFuncs:
                - MemoryCopy
                - SessionContextSave
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
        - Branch String:   'tpm/src/command/Context/ContextSave.c:184,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:185,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:187,37'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
        - Branch String:   'tpm/src/command/Context/ContextSave.c:203,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:203,5'
              BranchSideFuncs:
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
            - BranchSide:      'tpm/src/command/Context/ContextSave.c:205,16'
              BranchSideFuncs:
                - MemoryCopy
                - ComputeContextProtectionKey
                - CryptSymmetricEncrypt
                - ComputeContextIntegrity
                - TPM2B_DIGEST_Marshal
      Callsites:
        - Src:             'tpm/src/command/Context/ContextSave.c:70,5'
          Dst:             NvClearOrderly
        - Src:             'tpm/src/command/Context/ContextSave.c:94,36'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Context/ContextSave.c:97,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/command/Context/ContextSave.c:101,41'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Context/ContextSave.c:103,33'
          Dst:             ObjectIsSequence
        - Src:             'tpm/src/command/Context/ContextSave.c:119,17'
          Dst:             CryptRsaLoadPrivateExponent
        - Src:             'tpm/src/command/Context/ContextSave.c:122,13'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/ContextSave.c:125,13'
          Dst:             MemoryCopy
        - Src:             'tpm/src/command/Context/ContextSave.c:131,17'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/ContextSave.c:138,16'
          Dst:             ObjectIsSequence
        - Src:             'tpm/src/command/Context/ContextSave.c:141,17'
          Dst:             SequenceDataExport
        - Src:             'tpm/src/command/Context/ContextSave.c:148,38'
          Dst:             ObjectGetHierarchy
        - Src:             'tpm/src/command/Context/ContextSave.c:155,32'
          Dst:             SessionGet
        - Src:             'tpm/src/command/Context/ContextSave.c:165,13'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/ContextSave.c:172,13'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/ContextSave.c:174,13'
          Dst:             MemoryCopy
        - Src:             'tpm/src/command/Context/ContextSave.c:183,22'
          Dst:             SessionContextSave
        - Src:             'tpm/src/command/Context/ContextSave.c:197,13'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/ContextSave.c:203,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/ContextSave.c:205,5'
          Dst:             MemoryCopy
        - Src:             'tpm/src/command/Context/ContextSave.c:210,5'
          Dst:             ComputeContextProtectionKey
        - Src:             'tpm/src/command/Context/ContextSave.c:213,5'
          Dst:             CryptSymmetricEncrypt
        - Src:             'tpm/src/command/Context/ContextSave.c:225,5'
          Dst:             ComputeContextIntegrity
        - Src:             'tpm/src/command/Context/ContextSave.c:229,5'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPM2_EvictControl
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Context/EvictControl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         41
      ICount:          239
      EdgeCount:       55
      CyclomaticComplexity: 16
      functionsReached:
        - HandleToObject
        - NvAddEvictObject
        - NvDeleteEvict
        - NvFindHandle
        - NvIsOwnerPersistentHandle
        - NvIsPlatformPersistentHandle
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Context/EvictControl.c:68,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:68,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:70,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Context/EvictControl.c:69,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:69,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:70,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Context/EvictControl.c:67,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:70,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:74,8'
              BranchSideFuncs:
                - TpmFail
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
                - NvIsOwnerPersistentHandle
                - NvIsPlatformPersistentHandle
        - Branch String:   'tpm/src/command/Context/EvictControl.c:75,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:75,11'
              BranchSideFuncs:
                - TpmFail
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
                - NvIsOwnerPersistentHandle
                - NvIsPlatformPersistentHandle
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:79,8'
              BranchSideFuncs:
                - TpmFail
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
                - NvIsOwnerPersistentHandle
                - NvIsPlatformPersistentHandle
        - Branch String:   'tpm/src/command/Context/EvictControl.c:74,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:76,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:79,8'
              BranchSideFuncs:
                - TpmFail
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
                - NvIsOwnerPersistentHandle
                - NvIsPlatformPersistentHandle
        - Branch String:   'tpm/src/command/Context/EvictControl.c:79,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:82,12'
              BranchSideFuncs:
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
                - NvIsPlatformPersistentHandle
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:94,13'
              BranchSideFuncs:
                - TpmFail
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
                - NvIsOwnerPersistentHandle
        - Branch String:   'tpm/src/command/Context/EvictControl.c:82,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:86,16'
              BranchSideFuncs:
                - NvIsPlatformPersistentHandle
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:93,5'
              BranchSideFuncs:
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
        - Branch String:   'tpm/src/command/Context/EvictControl.c:86,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:87,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:89,46'
              BranchSideFuncs:
                - NvIsPlatformPersistentHandle
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
        - Branch String:   'tpm/src/command/Context/EvictControl.c:89,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:90,17'
              BranchSideFuncs:
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:91,9'
              BranchSideFuncs:
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
        - Branch String:   'tpm/src/command/Context/EvictControl.c:94,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:97,12'
              BranchSideFuncs:
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
                - NvIsOwnerPersistentHandle
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:109,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Context/EvictControl.c:97,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:98,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:101,12'
              BranchSideFuncs:
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
                - NvIsOwnerPersistentHandle
        - Branch String:   'tpm/src/command/Context/EvictControl.c:102,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:102,42'
              BranchSideFuncs:
                - NvIsOwnerPersistentHandle
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:104,5'
              BranchSideFuncs:
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
        - Branch String:   'tpm/src/command/Context/EvictControl.c:101,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:103,13'
              BranchSideFuncs:
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:104,5'
              BranchSideFuncs:
                - NvDeleteEvict
                - NvFindHandle
                - NvAddEvictObject
        - Branch String:   'tpm/src/command/Context/EvictControl.c:113,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:116,25'
              BranchSideFuncs:
                - NvFindHandle
                - NvAddEvictObject
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:125,32'
              BranchSideFuncs:
                - NvDeleteEvict
        - Branch String:   'tpm/src/command/Context/EvictControl.c:116,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:117,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Context/EvictControl.c:120,35'
              BranchSideFuncs:
                - NvAddEvictObject
      Callsites:
        - Src:             'tpm/src/command/Context/EvictControl.c:64,19'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Context/EvictControl.c:89,17'
          Dst:             NvIsPlatformPersistentHandle
        - Src:             'tpm/src/command/Context/EvictControl.c:102,16'
          Dst:             NvIsOwnerPersistentHandle
        - Src:             'tpm/src/command/Context/EvictControl.c:109,9'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Context/EvictControl.c:116,12'
          Dst:             NvFindHandle
        - Src:             'tpm/src/command/Context/EvictControl.c:120,18'
          Dst:             NvAddEvictObject
        - Src:             'tpm/src/command/Context/EvictControl.c:125,18'
          Dst:             NvDeleteEvict
    - functionName:    TPM2_FlushContext
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Context/FlushContext.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         20
      ICount:          107
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - FlushObject
        - HandleGetType
        - IsObjectPresent
        - SessionFlush
        - SessionIsLoaded
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Context/FlushContext.c:52,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:55,33'
              BranchSideFuncs:
                - IsObjectPresent
                - FlushObject
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:62,33'
              BranchSideFuncs:
                - SessionIsLoaded
                - SessionIsSaved
                - SessionFlush
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:62,33'
              BranchSideFuncs:
                - SessionIsLoaded
                - SessionIsSaved
                - SessionFlush
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:76,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Context/FlushContext.c:55,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:56,17'
              BranchSideFuncs:
                - FlushObject
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:58,25'
              BranchSideFuncs:
                - FlushObject
        - Branch String:   'tpm/src/command/Context/FlushContext.c:62,50'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:62,69'
              BranchSideFuncs:
                - SessionFlush
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:67,16'
              BranchSideFuncs:
                - SessionFlush
        - Branch String:   'tpm/src/command/Context/FlushContext.c:62,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:63,17'
              BranchSideFuncs:
                - SessionFlush
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:67,16'
              BranchSideFuncs:
                - SessionFlush
        - Branch String:   'tpm/src/command/Context/FlushContext.c:67,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:68,41'
              BranchSideFuncs:
                - SessionFlush
            - BranchSide:      'tpm/src/command/Context/FlushContext.c:71,26'
              BranchSideFuncs:
                - SessionFlush
      Callsites:
        - Src:             'tpm/src/command/Context/FlushContext.c:52,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/command/Context/FlushContext.c:55,17'
          Dst:             IsObjectPresent
        - Src:             'tpm/src/command/Context/FlushContext.c:58,13'
          Dst:             FlushObject
        - Src:             'tpm/src/command/Context/FlushContext.c:62,17'
          Dst:             SessionIsLoaded
        - Src:             'tpm/src/command/Context/FlushContext.c:62,54'
          Dst:             SessionIsSaved
        - Src:             'tpm/src/command/Context/FlushContext.c:71,13'
          Dst:             SessionFlush
        - Src:             'tpm/src/command/Context/FlushContext.c:76,13'
          Dst:             TpmFail
    - functionName:    TPM2_DictionaryAttackLockReset
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/DA/DictionaryAttackLockReset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvWrite
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/DA/DictionaryAttackLockReset.c:54,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/DA/DictionaryAttackLockReset.c:54,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/DA/DictionaryAttackLockReset.c:59,20'
              BranchSideFuncs:
                - NvWrite
      Callsites:
        - Src:             'tpm/src/command/DA/DictionaryAttackLockReset.c:62,5'
          Dst:             NvWrite
    - functionName:    TPM2_DictionaryAttackParameters
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/DA/DictionaryAttackParameters.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvWrite
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/DA/DictionaryAttackParameters.c:49,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/DA/DictionaryAttackParameters.c:49,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/DA/DictionaryAttackParameters.c:54,26'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
      Callsites:
        - Src:             'tpm/src/command/DA/DictionaryAttackParameters.c:68,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/DA/DictionaryAttackParameters.c:69,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/DA/DictionaryAttackParameters.c:70,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/DA/DictionaryAttackParameters.c:71,5'
          Dst:             NvWrite
    - functionName:    TPM2_Duplicate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Duplication/Duplicate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         35
      ICount:          263
      EdgeCount:       48
      CyclomaticComplexity: 15
      functionsReached:
        - CryptSecretEncrypt
        - HandleToObject
        - ObjectIsStorage
        - SensitiveToDuplicate
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:83,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:84,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:87,8'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
                - ObjectIsStorage
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:87,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:88,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:91,8'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
                - ObjectIsStorage
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:91,43'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:91,63'
              BranchSideFuncs:
                - ObjectIsStorage
                - SensitiveToDuplicate
                - CryptSecretEncrypt
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:96,8'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:91,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:92,9'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:96,8'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:96,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:99,12'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:105,8'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:99,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:100,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:101,12'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:101,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:102,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:103,5'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:105,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:108,12'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:114,24'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:108,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:109,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:110,5'
              BranchSideFuncs:
                - SensitiveToDuplicate
                - CryptSecretEncrypt
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:124,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:128,9'
              BranchSideFuncs:
                - CryptSecretEncrypt
                - SensitiveToDuplicate
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:137,16'
              BranchSideFuncs:
                - SensitiveToDuplicate
        - Branch String:   'tpm/src/command/Duplication/Duplicate.c:131,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:132,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Duplicate.c:133,5'
              BranchSideFuncs:
                - SensitiveToDuplicate
      Callsites:
        - Src:             'tpm/src/command/Duplication/Duplicate.c:78,14'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Duplication/Duplicate.c:80,17'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Duplication/Duplicate.c:91,47'
          Dst:             ObjectIsStorage
        - Src:             'tpm/src/command/Duplication/Duplicate.c:130,13'
          Dst:             CryptSecretEncrypt
        - Src:             'tpm/src/command/Duplication/Duplicate.c:148,5'
          Dst:             SensitiveToDuplicate
    - functionName:    TPM2_Import
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Duplication/Import.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         43
      ICount:          291
      EdgeCount:       58
      CyclomaticComplexity: 17
      functionsReached:
        - CryptSecretDecrypt
        - DuplicateToSensitive
        - HandleToObject
        - ObjectIsParent
        - ObjectLoad
        - PublicMarshalAndComputeName
        - RcSafeAddToResult
        - SensitiveToPrivate
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Duplication/Import.c:121,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:121,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Import.c:122,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Duplication/Import.c:120,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:122,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Import.c:125,35'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsParent
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - CryptSecretDecrypt
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:127,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:128,9'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - CryptSecretDecrypt
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Import.c:130,8'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - CryptSecretDecrypt
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:130,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:133,24'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - CryptSecretDecrypt
                - TpmFail
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Import.c:142,12'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - CryptSecretDecrypt
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:135,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:136,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Import.c:137,5'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - CryptSecretDecrypt
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:142,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:143,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Import.c:146,12'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - CryptSecretDecrypt
                - TpmFail
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:146,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Import.c:147,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Duplication/Import.c:150,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:154,12'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - TpmFail
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Import.c:170,12'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:154,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:155,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Import.c:161,13'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - TpmFail
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:162,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:162,9'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Import.c:163,12'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:163,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:164,38'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Import.c:165,5'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:170,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:171,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Import.c:172,16'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:176,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:177,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Import.c:181,36'
              BranchSideFuncs:
                - DuplicateToSensitive
                - SensitiveToPrivate
                - ObjectLoad
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Import.c:189,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:190,34'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Import.c:195,8'
              BranchSideFuncs:
                - SensitiveToPrivate
                - ObjectLoad
        - Branch String:   'tpm/src/command/Duplication/Import.c:195,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:199,30'
              BranchSideFuncs:
                - ObjectLoad
                - SensitiveToPrivate
            - BranchSide:      'tpm/src/command/Duplication/Import.c:206,8'
              BranchSideFuncs:
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Duplication/Import.c:206,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Import.c:211,28'
              BranchSideFuncs:
                - SensitiveToPrivate
            - BranchSide:      'tpm/src/command/Duplication/Import.c:215,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Duplication/Import.c:125,20'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Duplication/Import.c:127,9'
          Dst:             ObjectIsParent
        - Src:             'tpm/src/command/Duplication/Import.c:160,18'
          Dst:             CryptSecretDecrypt
        - Src:             'tpm/src/command/Duplication/Import.c:162,9'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Duplication/Import.c:164,20'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Duplication/Import.c:175,5'
          Dst:             PublicMarshalAndComputeName
        - Src:             'tpm/src/command/Duplication/Import.c:181,14'
          Dst:             DuplicateToSensitive
        - Src:             'tpm/src/command/Duplication/Import.c:190,16'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Duplication/Import.c:197,18'
          Dst:             ObjectLoad
        - Src:             'tpm/src/command/Duplication/Import.c:209,9'
          Dst:             SensitiveToPrivate
    - functionName:    TPM2_Rewrap
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Duplication/Rewrap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         41
      ICount:          351
      EdgeCount:       53
      CyclomaticComplexity: 14
      functionsReached:
        - CryptHashGetDigestSize
        - CryptSecretDecrypt
        - CryptSecretEncrypt
        - HandleToObject
        - MemoryCopy
        - ObjectIsStorage
        - ProduceOuterWrap
        - RcSafeAddToResult
        - TpmFail
        - UnwrapOuter
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:73,35'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:73,38'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretDecrypt
                - UnwrapOuter
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:74,12'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretDecrypt
                - UnwrapOuter
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:74,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:74,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:75,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:74,38'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:74,41'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretDecrypt
                - UnwrapOuter
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:76,8'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretDecrypt
                - UnwrapOuter
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:73,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:75,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:76,8'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretDecrypt
                - UnwrapOuter
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:78,44'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretDecrypt
                - UnwrapOuter
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:112,23'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:81,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:82,13'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - UnwrapOuter
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:87,13'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - UnwrapOuter
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:88,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:89,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:91,30'
              BranchSideFuncs:
                - UnwrapOuter
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:98,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:99,38'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:102,53'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:104,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:104,9'
              BranchSideFuncs:
                - MemoryCopy
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:105,34'
              BranchSideFuncs:
                - MemoryCopy
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:114,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:117,36'
              BranchSideFuncs:
                - HandleToObject
                - ObjectIsStorage
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:156,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:120,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:121,13'
              BranchSideFuncs:
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:125,9'
              BranchSideFuncs:
                - CryptSecretEncrypt
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:128,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:129,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:132,53'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:137,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:138,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:140,50'
              BranchSideFuncs:
                - TpmFail
                - MemoryCopy
                - ProduceOuterWrap
        - Branch String:   'tpm/src/command/Duplication/Rewrap.c:141,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:141,9'
              BranchSideFuncs:
                - MemoryCopy
                - ProduceOuterWrap
            - BranchSide:      'tpm/src/command/Duplication/Rewrap.c:142,20'
              BranchSideFuncs:
                - MemoryCopy
                - ProduceOuterWrap
      Callsites:
        - Src:             'tpm/src/command/Duplication/Rewrap.c:78,29'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Duplication/Rewrap.c:81,13'
          Dst:             ObjectIsStorage
        - Src:             'tpm/src/command/Duplication/Rewrap.c:86,18'
          Dst:             CryptSecretDecrypt
        - Src:             'tpm/src/command/Duplication/Rewrap.c:91,18'
          Dst:             UnwrapOuter
        - Src:             'tpm/src/command/Duplication/Rewrap.c:99,20'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Duplication/Rewrap.c:102,30'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Duplication/Rewrap.c:104,9'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Duplication/Rewrap.c:105,9'
          Dst:             MemoryCopy
        - Src:             'tpm/src/command/Duplication/Rewrap.c:117,21'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Duplication/Rewrap.c:120,13'
          Dst:             ObjectIsStorage
        - Src:             'tpm/src/command/Duplication/Rewrap.c:127,13'
          Dst:             CryptSecretEncrypt
        - Src:             'tpm/src/command/Duplication/Rewrap.c:132,30'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Duplication/Rewrap.c:141,9'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Duplication/Rewrap.c:142,9'
          Dst:             MemoryCopy
        - Src:             'tpm/src/command/Duplication/Rewrap.c:146,36'
          Dst:             ProduceOuterWrap
    - functionName:    TPM2_PolicyAuthValue
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyAuthValue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyAuthValue.c:57,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyAuthValue.c:62,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyAuthValue.c:65,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyAuthValue.c:68,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyAuthValue.c:71,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyAuthorize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyAuthorize.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         17
      ICount:          152
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - ByteArrayToUint16
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashIsValidAlg
        - CryptHashStart
        - MemoryEqual2B
        - PolicyContextUpdate
        - PolicyDigestClear
        - SessionGet
        - TicketComputeVerified
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyAuthorize.c:67,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:69,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:73,15'
              BranchSideFuncs:
                - ByteArrayToUint16
                - CryptHashIsValidAlg
                - CryptHashGetDigestSize
                - PolicyDigestClear
                - PolicyContextUpdate
                - MemoryEqual2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - TicketComputeVerified
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/PolicyAuthorize.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:78,9'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - PolicyDigestClear
                - PolicyContextUpdate
                - MemoryEqual2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - TicketComputeVerified
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:80,41'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - PolicyDigestClear
                - PolicyContextUpdate
                - MemoryEqual2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - TicketComputeVerified
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/PolicyAuthorize.c:81,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:82,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:85,8'
              BranchSideFuncs:
                - PolicyDigestClear
                - PolicyContextUpdate
                - MemoryEqual2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - TicketComputeVerified
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/PolicyAuthorize.c:85,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:89,28'
              BranchSideFuncs:
                - MemoryEqual2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - TicketComputeVerified
                - MemoryEqual2B
                - PolicyDigestClear
                - PolicyContextUpdate
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:119,23'
              BranchSideFuncs:
                - PolicyDigestClear
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyAuthorize.c:89,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:90,13'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - TicketComputeVerified
                - MemoryEqual2B
                - PolicyDigestClear
                - PolicyContextUpdate
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:96,54'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - TicketComputeVerified
                - MemoryEqual2B
                - PolicyDigestClear
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyAuthorize.c:112,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:113,13'
              BranchSideFuncs:
                - PolicyDigestClear
                - PolicyContextUpdate
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorize.c:114,5'
              BranchSideFuncs:
                - PolicyDigestClear
                - PolicyContextUpdate
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:65,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:73,15'
          Dst:             ByteArrayToUint16
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:77,9'
          Dst:             CryptHashIsValidAlg
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:80,18'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:89,13'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:96,27'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:99,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:102,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:105,9'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:108,9'
          Dst:             TicketComputeVerified
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:112,13'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:119,5'
          Dst:             PolicyDigestClear
        - Src:             'tpm/src/command/EA/PolicyAuthorize.c:122,5'
          Dst:             PolicyContextUpdate
    - functionName:    TPM2_PolicyAuthorizeNV
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyAuthorizeNV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         18
      ICount:          170
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - EntityGetName
        - MemoryEqual
        - NvGetIndexData
        - NvGetIndexInfo
        - NvReadAccessChecks
        - PolicyContextUpdate
        - PolicyDigestClear
        - SessionGet
        - TPMT_HA_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyAuthorizeNV.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:78,13'
              BranchSideFuncs:
                - PolicyDigestClear
                - EntityGetName
                - PolicyContextUpdate
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:109,23'
              BranchSideFuncs:
                - PolicyDigestClear
                - EntityGetName
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyAuthorizeNV.c:79,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:80,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:83,16'
              BranchSideFuncs:
                - NvGetIndexData
                - TPMT_HA_Unmarshal
                - MemoryEqual
                - PolicyDigestClear
                - EntityGetName
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyAuthorizeNV.c:83,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:83,16'
              BranchSideFuncs:
                - NvGetIndexData
                - TPMT_HA_Unmarshal
                - MemoryEqual
                - PolicyDigestClear
                - EntityGetName
                - PolicyContextUpdate
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:83,16'
              BranchSideFuncs:
                - NvGetIndexData
                - TPMT_HA_Unmarshal
                - MemoryEqual
                - PolicyDigestClear
                - EntityGetName
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyAuthorizeNV.c:91,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:92,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:95,23'
              BranchSideFuncs:
                - MemoryEqual
                - PolicyDigestClear
                - EntityGetName
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyAuthorizeNV.c:95,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:96,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:100,37'
              BranchSideFuncs:
                - MemoryEqual
                - PolicyDigestClear
                - EntityGetName
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyAuthorizeNV.c:100,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:103,13'
              BranchSideFuncs:
                - PolicyDigestClear
                - EntityGetName
                - PolicyContextUpdate
            - BranchSide:      'tpm/src/command/EA/PolicyAuthorizeNV.c:104,5'
              BranchSideFuncs:
                - PolicyDigestClear
                - EntityGetName
                - PolicyContextUpdate
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyAuthorizeNV.c:59,26'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/EA/PolicyAuthorizeNV.c:68,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyAuthorizeNV.c:77,18'
          Dst:             NvReadAccessChecks
        - Src:             'tpm/src/command/EA/PolicyAuthorizeNV.c:84,9'
          Dst:             NvGetIndexData
        - Src:             'tpm/src/command/EA/PolicyAuthorizeNV.c:90,18'
          Dst:             TPMT_HA_Unmarshal
        - Src:             'tpm/src/command/EA/PolicyAuthorizeNV.c:100,13'
          Dst:             MemoryEqual
        - Src:             'tpm/src/command/EA/PolicyAuthorizeNV.c:109,5'
          Dst:             PolicyDigestClear
        - Src:             'tpm/src/command/EA/PolicyAuthorizeNV.c:113,25'
          Dst:             EntityGetName
        - Src:             'tpm/src/command/EA/PolicyAuthorizeNV.c:112,5'
          Dst:             PolicyContextUpdate
    - functionName:    TPM2_PolicyCommandCode
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyCommandCode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         11
      ICount:          98
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CommandCodeToCommandIndex
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyCommandCode.c:60,34'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCommandCode.c:60,37'
              BranchSideFuncs:
                - CommandCodeToCommandIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyCommandCode.c:62,34'
              BranchSideFuncs:
                - CommandCodeToCommandIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyCommandCode.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCommandCode.c:61,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyCommandCode.c:62,34'
              BranchSideFuncs:
                - CommandCodeToCommandIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyCommandCode.c:62,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCommandCode.c:63,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyCommandCode.c:69,32'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyCommandCode.c:58,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyCommandCode.c:62,8'
          Dst:             CommandCodeToCommandIndex
        - Src:             'tpm/src/command/EA/PolicyCommandCode.c:69,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyCommandCode.c:72,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyCommandCode.c:75,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyCommandCode.c:78,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyCommandCode.c:81,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyCounterTimer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyCounterTimer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         18
      ICount:          180
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - PolicySptCheckCondition
        - SessionGet
        - TimeGetMarshaled
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyCounterTimer.c:70,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:71,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:72,16'
              BranchSideFuncs:
                - SessionGet
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - PolicySptCheckCondition
        - Branch String:   'tpm/src/command/EA/PolicyCounterTimer.c:72,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:73,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:75,26'
              BranchSideFuncs:
                - SessionGet
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - PolicySptCheckCondition
        - Branch String:   'tpm/src/command/EA/PolicyCounterTimer.c:78,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:83,12'
              BranchSideFuncs:
                - PolicySptCheckCondition
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:101,49'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyCounterTimer.c:83,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:88,13'
              BranchSideFuncs:
                - PolicySptCheckCondition
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:91,28'
              BranchSideFuncs:
                - PolicySptCheckCondition
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyCounterTimer.c:88,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:88,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:89,9'
              BranchSideFuncs:
                - PolicySptCheckCondition
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyCounterTimer.c:93,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:97,13'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyCounterTimer.c:98,5'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:65,20'
          Dst:             TimeGetMarshaled
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:75,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:93,13'
          Dst:             PolicySptCheckCondition
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:101,22'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:103,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:105,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:107,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:109,5'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:113,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:116,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:119,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:122,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyCounterTimer.c:125,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyCpHash
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyCpHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         14
      ICount:          118
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - MemoryEqual2B
        - SessionGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyCpHash.c:65,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCpHash.c:66,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyCpHash.c:70,9'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/PolicyCpHash.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCpHash.c:71,13'
              BranchSideFuncs:
                - MemoryEqual2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyCpHash.c:80,32'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyCpHash.c:72,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCpHash.c:72,31'
              BranchSideFuncs:
                - MemoryEqual2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyCpHash.c:73,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicyCpHash.c:70,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyCpHash.c:73,9'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyCpHash.c:80,32'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyCpHash.c:60,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyCpHash.c:65,30'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/EA/PolicyCpHash.c:72,16'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/EA/PolicyCpHash.c:80,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyCpHash.c:83,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyCpHash.c:86,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyCpHash.c:89,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyCpHash.c:92,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyDuplicationSelect
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyDuplicationSelect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         11
      ICount:          117
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyDuplicationSelect.c:62,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyDuplicationSelect.c:63,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyDuplicationSelect.c:66,8'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/command/EA/PolicyDuplicationSelect.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyDuplicationSelect.c:67,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyDuplicationSelect.c:72,60'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/command/EA/PolicyDuplicationSelect.c:95,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyDuplicationSelect.c:96,42'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyDuplicationSelect.c:99,38'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:59,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:72,33'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:75,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:78,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:81,5'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:87,9'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:89,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:92,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:96,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:99,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:102,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyDuplicationSelect.c:105,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyGetDigest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyGetDigest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyGetDigest.c:53,25'
          Dst:             SessionGet
    - functionName:    TPM2_PolicyLocality
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyLocality.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         24
      ICount:          199
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
        - UINT8_Marshal
        - UINT8_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyLocality.c:68,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:69,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:72,5'
              BranchSideFuncs:
                - UINT8_Marshal
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
        - Branch String:   'tpm/src/command/EA/PolicyLocality.c:80,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:80,13'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:84,8'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
        - Branch String:   'tpm/src/command/EA/PolicyLocality.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:81,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:84,8'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
        - Branch String:   'tpm/src/command/EA/PolicyLocality.c:84,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:88,12'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:102,12'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
        - Branch String:   'tpm/src/command/EA/PolicyLocality.c:88,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:89,13'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:92,27'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
        - Branch String:   'tpm/src/command/EA/PolicyLocality.c:95,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:96,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:97,5'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
        - Branch String:   'tpm/src/command/EA/PolicyLocality.c:102,32'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:102,35'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:106,26'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
        - Branch String:   'tpm/src/command/EA/PolicyLocality.c:102,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:103,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyLocality.c:106,26'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate
                - CryptHashEnd2B
                - UINT8_Unmarshal
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyLocality.c:60,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyLocality.c:65,24'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/command/EA/PolicyLocality.c:74,5'
          Dst:             UINT8_Marshal
        - Src:             'tpm/src/command/EA/PolicyLocality.c:114,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyLocality.c:117,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyLocality.c:120,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyLocality.c:123,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/command/EA/PolicyLocality.c:126,5'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/EA/PolicyLocality.c:131,5'
          Dst:             UINT8_Unmarshal
    - functionName:    TPM2_PolicyNV
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyNV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         15
      ICount:          198
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - EntityGetName
        - NvGetIndexData
        - NvGetIndexInfo
        - NvReadAccessChecks
        - PolicySptCheckCondition
        - SessionGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyNV.c:73,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNV.c:76,34'
              BranchSideFuncs:
                - NvGetIndexInfo
                - NvReadAccessChecks
                - NvGetIndexData
                - PolicySptCheckCondition
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - EntityGetName
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyNV.c:104,49'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - EntityGetName
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyNV.c:82,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNV.c:83,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyNV.c:86,12'
              BranchSideFuncs:
                - NvGetIndexData
                - PolicySptCheckCondition
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - EntityGetName
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyNV.c:86,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNV.c:87,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyNV.c:90,13'
              BranchSideFuncs:
                - NvGetIndexData
                - PolicySptCheckCondition
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - EntityGetName
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyNV.c:90,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNV.c:91,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyNV.c:94,24'
              BranchSideFuncs:
                - NvGetIndexData
                - PolicySptCheckCondition
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - EntityGetName
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyNV.c:97,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNV.c:99,13'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - EntityGetName
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyNV.c:100,5'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - EntityGetName
                - CryptDigestUpdate2B
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyNV.c:70,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyNV.c:76,19'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/EA/PolicyNV.c:80,18'
          Dst:             NvReadAccessChecks
        - Src:             'tpm/src/command/EA/PolicyNV.c:94,9'
          Dst:             NvGetIndexData
        - Src:             'tpm/src/command/EA/PolicyNV.c:97,13'
          Dst:             PolicySptCheckCondition
        - Src:             'tpm/src/command/EA/PolicyNV.c:104,22'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyNV.c:107,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyNV.c:110,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyNV.c:113,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyNV.c:116,5'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/EA/PolicyNV.c:120,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyNV.c:123,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyNV.c:126,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyNV.c:129,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyNV.c:132,38'
          Dst:             EntityGetName
        - Src:             'tpm/src/command/EA/PolicyNV.c:132,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyNV.c:135,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyNameHash
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyNameHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         15
      ICount:          125
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyNameHash.c:63,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNameHash.c:64,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyNameHash.c:67,8'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyNameHash.c:67,39'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNameHash.c:67,42'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyNameHash.c:69,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicyNameHash.c:68,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNameHash.c:68,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyNameHash.c:69,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicyNameHash.c:68,47'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNameHash.c:68,50'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyNameHash.c:69,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicyNameHash.c:67,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNameHash.c:69,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyNameHash.c:76,32'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyNameHash.c:58,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyNameHash.c:63,31'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/EA/PolicyNameHash.c:76,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyNameHash.c:79,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyNameHash.c:82,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyNameHash.c:85,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyNameHash.c:88,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyNvWritten
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyNvWritten.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         9
      ICount:          112
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyNvWritten.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNvWritten.c:62,14'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyNvWritten.c:69,5'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyNvWritten.c:62,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyNvWritten.c:63,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyNvWritten.c:64,5'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdateInt
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyNvWritten.c:56,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyNvWritten.c:76,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyNvWritten.c:79,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyNvWritten.c:82,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyNvWritten.c:85,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyNvWritten.c:88,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyOR
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyOR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         17
      ICount:          139
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - MemoryEqual2B
        - MemorySet
        - SessionGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyOR.c:61,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyOR.c:63,12'
              BranchSideFuncs:
                - MemoryEqual2B
                - CryptHashStart
                - MemorySet
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/command/EA/PolicyOR.c:96,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicyOR.c:64,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyOR.c:64,31'
              BranchSideFuncs:
                - CryptHashStart
                - MemorySet
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/command/EA/PolicyOR.c:69,24'
              BranchSideFuncs:
                - CryptHashStart
                - MemorySet
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/command/EA/PolicyOR.c:63,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyOR.c:69,24'
              BranchSideFuncs:
                - CryptHashStart
                - MemorySet
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/command/EA/PolicyOR.c:94,5'
              BranchSideFuncs:
                - MemoryEqual2B
                - CryptHashStart
                - MemorySet
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/command/EA/PolicyOR.c:84,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyOR.c:87,50'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyOR.c:90,41'
              BranchSideFuncs:
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyOR.c:58,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyOR.c:64,16'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/EA/PolicyOR.c:73,17'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyOR.c:75,13'
          Dst:             MemorySet
        - Src:             'tpm/src/command/EA/PolicyOR.c:78,13'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyOR.c:81,13'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyOR.c:87,17'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyOR.c:90,13'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyPCR
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyPCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         23
      ICount:          172
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - MemoryEqual2B
        - PCRComputeCurrentDigest
        - SessionGet
        - TPML_PCR_SELECTION_Marshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyPCR.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:74,12'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - TPML_PCR_SELECTION_Marshal
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:90,12'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - TPML_PCR_SELECTION_Marshal
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyPCR.c:74,37'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:74,40'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - TPML_PCR_SELECTION_Marshal
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:79,12'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - TPML_PCR_SELECTION_Marshal
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/PolicyPCR.c:74,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:75,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:79,12'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - TPML_PCR_SELECTION_Marshal
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/PolicyPCR.c:79,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:81,32'
              BranchSideFuncs:
                - MemoryEqual2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - TPML_PCR_SELECTION_Marshal
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:84,5'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - TPML_PCR_SELECTION_Marshal
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyPCR.c:81,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:82,17'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - TPML_PCR_SELECTION_Marshal
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:83,9'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - TPML_PCR_SELECTION_Marshal
                - CryptDigestUpdate
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyPCR.c:118,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:120,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyPCR.c:123,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyPCR.c:65,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyPCR.c:68,5'
          Dst:             PCRComputeCurrentDigest
        - Src:             'tpm/src/command/EA/PolicyPCR.c:81,17'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/EA/PolicyPCR.c:98,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyPCR.c:101,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyPCR.c:104,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyPCR.c:108,15'
          Dst:             TPML_PCR_SELECTION_Marshal
        - Src:             'tpm/src/command/EA/PolicyPCR.c:109,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/command/EA/PolicyPCR.c:112,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyPCR.c:115,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyPassword
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyPassword.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyPassword.c:57,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyPassword.c:62,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyPassword.c:65,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyPassword.c:68,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyPassword.c:71,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyPhysicalPresence
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyPhysicalPresence.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         3
      ICount:          45
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyPhysicalPresence.c:55,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyPhysicalPresence.c:60,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyPhysicalPresence.c:63,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyPhysicalPresence.c:66,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyPhysicalPresence.c:69,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicySecret
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicySecret.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         20
      ICount:          194
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - ComputeAuthTimeout
        - EntityGetHierarchy
        - EntityGetName
        - NvIsPinPassIndex
        - PolicyContextUpdate
        - PolicyParameterChecks
        - SessionGet
        - TicketComputeAuth
        - Uint64ToByteArray
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicySecret.c:68,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:70,42'
              BranchSideFuncs:
                - ComputeAuthTimeout
                - PolicyParameterChecks
                - EntityGetName
                - PolicyContextUpdate
                - NvIsPinPassIndex
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:86,39'
              BranchSideFuncs:
                - EntityGetName
                - PolicyContextUpdate
                - NvIsPinPassIndex
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
        - Branch String:   'tpm/src/command/EA/PolicySecret.c:79,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:80,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:81,5'
              BranchSideFuncs:
                - EntityGetName
                - PolicyContextUpdate
                - NvIsPinPassIndex
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
        - Branch String:   'tpm/src/command/EA/PolicySecret.c:96,27'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:96,30'
              BranchSideFuncs:
                - NvIsPinPassIndex
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:126,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicySecret.c:97,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:97,29'
              BranchSideFuncs:
                - NvIsPinPassIndex
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:126,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicySecret.c:96,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:99,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:126,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicySecret.c:119,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:120,25'
              BranchSideFuncs:
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/command/EA/PolicySecret.c:121,9'
              BranchSideFuncs:
                - Uint64ToByteArray
      Callsites:
        - Src:             'tpm/src/command/EA/PolicySecret.c:65,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicySecret.c:70,23'
          Dst:             ComputeAuthTimeout
        - Src:             'tpm/src/command/EA/PolicySecret.c:72,23'
          Dst:             PolicyParameterChecks
        - Src:             'tpm/src/command/EA/PolicySecret.c:86,25'
          Dst:             EntityGetName
        - Src:             'tpm/src/command/EA/PolicySecret.c:85,5'
          Dst:             PolicyContextUpdate
        - Src:             'tpm/src/command/EA/PolicySecret.c:97,12'
          Dst:             NvIsPinPassIndex
        - Src:             'tpm/src/command/EA/PolicySecret.c:103,27'
          Dst:             EntityGetHierarchy
        - Src:             'tpm/src/command/EA/PolicySecret.c:102,9'
          Dst:             TicketComputeAuth
        - Src:             'tpm/src/command/EA/PolicySecret.c:121,9'
          Dst:             Uint64ToByteArray
    - functionName:    TPM2_PolicySigned
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicySigned.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         22
      ICount:          238
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - ComputeAuthTimeout
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptGetSignHashAlg
        - CryptHashEnd2B
        - CryptHashStart
        - CryptValidateSignature
        - EntityGetHierarchy
        - EntityGetName
        - PolicyContextUpdate
        - PolicyParameterChecks
        - RcSafeAddToResult
        - SessionGet
        - TicketComputeAuth
        - Uint64ToByteArray
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicySigned.c:70,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:72,42'
              BranchSideFuncs:
                - ComputeAuthTimeout
                - PolicyParameterChecks
                - CryptGetSignHashAlg
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptValidateSignature
                - EntityGetName
                - PolicyContextUpdate
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:135,39'
              BranchSideFuncs:
                - EntityGetName
                - PolicyContextUpdate
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
        - Branch String:   'tpm/src/command/EA/PolicySigned.c:81,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:82,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:103,75'
              BranchSideFuncs:
                - CryptGetSignHashAlg
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptValidateSignature
                - EntityGetName
                - PolicyContextUpdate
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/EA/PolicySigned.c:107,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:108,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:111,42'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptValidateSignature
                - EntityGetName
                - PolicyContextUpdate
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/EA/PolicySigned.c:128,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:129,38'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:130,5'
              BranchSideFuncs:
                - EntityGetName
                - PolicyContextUpdate
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
        - Branch String:   'tpm/src/command/EA/PolicySigned.c:145,27'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:145,30'
              BranchSideFuncs:
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:176,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicySigned.c:145,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:147,32'
              BranchSideFuncs:
                - EntityGetHierarchy
                - TicketComputeAuth
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:176,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicySigned.c:168,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:169,25'
              BranchSideFuncs:
                - Uint64ToByteArray
            - BranchSide:      'tpm/src/command/EA/PolicySigned.c:170,9'
              BranchSideFuncs:
                - Uint64ToByteArray
      Callsites:
        - Src:             'tpm/src/command/EA/PolicySigned.c:67,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicySigned.c:72,23'
          Dst:             ComputeAuthTimeout
        - Src:             'tpm/src/command/EA/PolicySigned.c:74,23'
          Dst:             PolicyParameterChecks
        - Src:             'tpm/src/command/EA/PolicySigned.c:103,54'
          Dst:             CryptGetSignHashAlg
        - Src:             'tpm/src/command/EA/PolicySigned.c:103,27'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicySigned.c:111,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicySigned.c:114,9'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicySigned.c:117,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicySigned.c:120,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicySigned.c:123,9'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/EA/PolicySigned.c:127,18'
          Dst:             CryptValidateSignature
        - Src:             'tpm/src/command/EA/PolicySigned.c:129,20'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/EA/PolicySigned.c:135,25'
          Dst:             EntityGetName
        - Src:             'tpm/src/command/EA/PolicySigned.c:134,5'
          Dst:             PolicyContextUpdate
        - Src:             'tpm/src/command/EA/PolicySigned.c:152,27'
          Dst:             EntityGetHierarchy
        - Src:             'tpm/src/command/EA/PolicySigned.c:151,9'
          Dst:             TicketComputeAuth
        - Src:             'tpm/src/command/EA/PolicySigned.c:170,9'
          Dst:             Uint64ToByteArray
    - functionName:    TPM2_PolicyTemplate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyTemplate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         13
      ICount:          121
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - MemoryEqual2B
        - SessionGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyTemplate.c:63,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyTemplate.c:65,28'
              BranchSideFuncs:
                - MemoryEqual2B
                - CryptHashGetDigestSize
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyTemplate.c:69,13'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyTemplate.c:65,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyTemplate.c:66,13'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/PolicyTemplate.c:67,5'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/PolicyTemplate.c:69,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyTemplate.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyTemplate.c:70,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/PolicyTemplate.c:73,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyTemplate.c:74,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyTemplate.c:81,32'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptDigestUpdate2B
                - CryptHashEnd2B
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyTemplate.c:60,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyTemplate.c:65,13'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/EA/PolicyTemplate.c:73,35'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/EA/PolicyTemplate.c:81,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/PolicyTemplate.c:84,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyTemplate.c:87,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/PolicyTemplate.c:90,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/PolicyTemplate.c:93,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyTicket
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/PolicyTicket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         18
      ICount:          166
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - ByteArrayToUint64
        - MemoryEqual2B
        - PolicyContextUpdate
        - PolicyParameterChecks
        - SessionGet
        - TicketComputeAuth
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/PolicyTicket.c:74,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:75,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:81,8'
              BranchSideFuncs:
                - ByteArrayToUint64
                - PolicyParameterChecks
                - TicketComputeAuth
                - MemoryEqual2B
                - TpmFail
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyTicket.c:81,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:82,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:83,19'
              BranchSideFuncs:
                - ByteArrayToUint64
                - PolicyParameterChecks
                - TicketComputeAuth
                - MemoryEqual2B
                - TpmFail
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyTicket.c:97,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:98,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:101,23'
              BranchSideFuncs:
                - TicketComputeAuth
                - MemoryEqual2B
                - TpmFail
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyTicket.c:110,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:111,9'
              BranchSideFuncs:
                - TpmFail
                - PolicyContextUpdate
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:117,8'
              BranchSideFuncs:
                - TpmFail
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyTicket.c:117,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:118,21'
              BranchSideFuncs:
                - PolicyContextUpdate
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:119,13'
              BranchSideFuncs:
                - TpmFail
                - PolicyContextUpdate
        - Branch String:   'tpm/src/command/EA/PolicyTicket.c:119,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:120,21'
              BranchSideFuncs:
                - PolicyContextUpdate
            - BranchSide:      'tpm/src/command/EA/PolicyTicket.c:124,9'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/command/EA/PolicyTicket.c:66,15'
          Dst:             SessionGet
        - Src:             'tpm/src/command/EA/PolicyTicket.c:83,19'
          Dst:             ByteArrayToUint64
        - Src:             'tpm/src/command/EA/PolicyTicket.c:90,14'
          Dst:             PolicyParameterChecks
        - Src:             'tpm/src/command/EA/PolicyTicket.c:101,5'
          Dst:             TicketComputeAuth
        - Src:             'tpm/src/command/EA/PolicyTicket.c:110,9'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/EA/PolicyTicket.c:124,9'
          Dst:             TpmFail
        - Src:             'tpm/src/command/EA/PolicyTicket.c:127,5'
          Dst:             PolicyContextUpdate
    - functionName:    PolicySptCheckCondition
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/Policy_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - operation
        - opA
        - opB
        - size
      BBCount:         30
      ICount:          279
      EdgeCount:       32
      CyclomaticComplexity: 4
      functionsReached:
        - SignedCompareB
        - TpmFail
        - UnsignedCompareB
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:211,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:215,38'
              BranchSideFuncs:
                - UnsignedCompareB
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:219,38'
              BranchSideFuncs:
                - UnsignedCompareB
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:223,36'
              BranchSideFuncs:
                - SignedCompareB
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:227,38'
              BranchSideFuncs:
                - UnsignedCompareB
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:231,36'
              BranchSideFuncs:
                - SignedCompareB
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:235,38'
              BranchSideFuncs:
                - UnsignedCompareB
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:239,36'
              BranchSideFuncs:
                - SignedCompareB
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:243,38'
              BranchSideFuncs:
                - UnsignedCompareB
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:247,36'
              BranchSideFuncs:
                - SignedCompareB
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:251,38'
              BranchSideFuncs:
                - UnsignedCompareB
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:257,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:266,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:272,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:257,17'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:258,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:261,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:258,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:258,50'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:259,25'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:266,17'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:267,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:270,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:267,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:267,45'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:268,25'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/EA/Policy_spt.c:215,21'
          Dst:             UnsignedCompareB
        - Src:             'tpm/src/command/EA/Policy_spt.c:219,21'
          Dst:             UnsignedCompareB
        - Src:             'tpm/src/command/EA/Policy_spt.c:223,21'
          Dst:             SignedCompareB
        - Src:             'tpm/src/command/EA/Policy_spt.c:227,21'
          Dst:             UnsignedCompareB
        - Src:             'tpm/src/command/EA/Policy_spt.c:231,21'
          Dst:             SignedCompareB
        - Src:             'tpm/src/command/EA/Policy_spt.c:235,21'
          Dst:             UnsignedCompareB
        - Src:             'tpm/src/command/EA/Policy_spt.c:239,21'
          Dst:             SignedCompareB
        - Src:             'tpm/src/command/EA/Policy_spt.c:243,21'
          Dst:             UnsignedCompareB
        - Src:             'tpm/src/command/EA/Policy_spt.c:247,21'
          Dst:             SignedCompareB
        - Src:             'tpm/src/command/EA/Policy_spt.c:251,21'
          Dst:             UnsignedCompareB
        - Src:             'tpm/src/command/EA/Policy_spt.c:272,13'
          Dst:             TpmFail
    - functionName:    PolicyDigestClear
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/Policy_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - session
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashGetDigestSize
        - MemorySet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/EA/Policy_spt.c:202,39'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/EA/Policy_spt.c:203,5'
          Dst:             MemorySet
    - functionName:    ComputeAuthTimeout
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/Policy_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - session
        - expiration
        - nonce
      BBCount:         10
      ICount:          71
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:178,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:179,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:182,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:182,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:183,27'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:184,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:184,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:189,36'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:193,26'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    PolicyContextUpdate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/Policy_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - commandCode
        - name
        - ref
        - cpHash
        - policyTimeout
        - session
      BBCount:         27
      ICount:          171
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - TpmFail
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:112,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:112,5'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:116,38'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdateInt
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:122,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:123,42'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:126,33'
              BranchSideFuncs:
                - CryptHashEnd2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:129,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:133,36'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:148,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:148,23'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:148,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:155,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:148,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:150,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:155,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:155,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:155,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:159,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:159,34'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:159,37'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:160,32'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:159,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:160,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:161,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/EA/Policy_spt.c:109,5'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/Policy_spt.c:112,5'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/EA/Policy_spt.c:112,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/EA/Policy_spt.c:116,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/Policy_spt.c:119,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/command/EA/Policy_spt.c:123,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/Policy_spt.c:126,5'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/EA/Policy_spt.c:133,9'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/EA/Policy_spt.c:136,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/Policy_spt.c:139,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/EA/Policy_spt.c:142,9'
          Dst:             CryptHashEnd2B
    - functionName:    PolicyParameterChecks
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/EA/Policy_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - session
        - authTimeout
        - cpHashA
        - nonce
        - blameNonce
        - blameCpHash
        - blameExpiration
      BBCount:         33
      ICount:          184
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached:
        - MemoryEqual2B
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:57,22'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:57,25'
              BranchSideFuncs:
                - MemoryEqual2B
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:63,8'
              BranchSideFuncs:
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:57,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:59,28'
              BranchSideFuncs:
                - MemoryEqual2B
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:63,8'
              BranchSideFuncs:
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:59,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:60,36'
              BranchSideFuncs:
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:61,5'
              BranchSideFuncs:
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:63,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:68,9'
              BranchSideFuncs:
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:76,8'
              BranchSideFuncs:
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:68,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:68,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:72,13'
              BranchSideFuncs:
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:72,35'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:72,39'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:73,38'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:72,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:73,38'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:74,5'
              BranchSideFuncs:
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:76,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:76,27'
              BranchSideFuncs:
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:88,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:79,12'
              BranchSideFuncs:
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:88,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:79,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:80,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:84,12'
              BranchSideFuncs:
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:85,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:85,31'
              BranchSideFuncs:
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:87,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/EA/Policy_spt.c:84,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:86,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/EA/Policy_spt.c:87,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/EA/Policy_spt.c:59,13'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/EA/Policy_spt.c:85,16'
          Dst:             MemoryEqual2B
    - functionName:    TPM2_Commit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Ecdaa/Commit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         32
      ICount:          285
      EdgeCount:       45
      CyclomaticComplexity: 15
      functionsReached:
        - CryptCommit
        - CryptEccCommitCompute
        - CryptEccGetParameter
        - CryptEccIsPointOnCurve
        - CryptGenerateR
        - CryptHashBlock
        - CryptIsSchemeAnonymous
        - DivideB
        - HandleToObject
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:77,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:84,32'
              BranchSideFuncs:
                - CryptIsSchemeAnonymous
                - CryptEccGetParameter
                - CryptGenerateR
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
                - CryptHashBlock
                - DivideB
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:84,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:85,9'
              BranchSideFuncs:
                - CryptEccGetParameter
                - CryptGenerateR
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
                - CryptHashBlock
                - DivideB
                - CryptEccIsPointOnCurve
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:88,9'
              BranchSideFuncs:
                - CryptEccGetParameter
                - CryptGenerateR
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
                - CryptHashBlock
                - DivideB
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:88,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:89,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:93,39'
              BranchSideFuncs:
                - CryptEccGetParameter
                - CryptGenerateR
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
                - CryptHashBlock
                - DivideB
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:93,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:94,9'
              BranchSideFuncs:
                - CryptGenerateR
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
                - CryptHashBlock
                - DivideB
                - CryptEccIsPointOnCurve
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:98,34'
              BranchSideFuncs:
                - CryptGenerateR
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
                - CryptHashBlock
                - DivideB
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:98,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:99,9'
              BranchSideFuncs:
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
                - CryptHashBlock
                - DivideB
                - CryptEccIsPointOnCurve
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:102,8'
              BranchSideFuncs:
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
                - CryptHashBlock
                - DivideB
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:102,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:106,13'
              BranchSideFuncs:
                - CryptHashBlock
                - DivideB
                - CryptEccIsPointOnCurve
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:139,8'
              BranchSideFuncs:
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:121,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:122,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:125,27'
              BranchSideFuncs:
                - DivideB
                - CryptEccIsPointOnCurve
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:127,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:128,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:130,36'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:130,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:131,13'
              BranchSideFuncs:
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:133,12'
              BranchSideFuncs:
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:133,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:134,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:135,5'
              BranchSideFuncs:
                - CryptEccCommitCompute
                - CryptCommit
                - CryptEccIsPointOnCurve
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:139,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:141,16'
              BranchSideFuncs:
                - CryptEccIsPointOnCurve
                - CryptEccCommitCompute
                - CryptCommit
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:150,37'
              BranchSideFuncs:
                - CryptEccCommitCompute
                - CryptCommit
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:142,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:143,13'
              BranchSideFuncs:
                - CryptEccCommitCompute
                - CryptCommit
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:144,5'
              BranchSideFuncs:
                - CryptEccCommitCompute
                - CryptCommit
        - Branch String:   'tpm/src/command/Ecdaa/Commit.c:158,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:159,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Ecdaa/Commit.c:163,20'
              BranchSideFuncs:
                - CryptCommit
      Callsites:
        - Src:             'tpm/src/command/Ecdaa/Commit.c:72,14'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Ecdaa/Commit.c:84,9'
          Dst:             CryptIsSchemeAnonymous
        - Src:             'tpm/src/command/Ecdaa/Commit.c:93,9'
          Dst:             CryptEccGetParameter
        - Src:             'tpm/src/command/Ecdaa/Commit.c:98,9'
          Dst:             CryptGenerateR
        - Src:             'tpm/src/command/Ecdaa/Commit.c:113,21'
          Dst:             CryptHashBlock
        - Src:             'tpm/src/command/Ecdaa/Commit.c:127,12'
          Dst:             DivideB
        - Src:             'tpm/src/command/Ecdaa/Commit.c:130,13'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'tpm/src/command/Ecdaa/Commit.c:142,13'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'tpm/src/command/Ecdaa/Commit.c:150,14'
          Dst:             CryptEccCommitCompute
        - Src:             'tpm/src/command/Ecdaa/Commit.c:163,20'
          Dst:             CryptCommit
    - functionName:    TPM2_EventSequenceComplete
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/HashHMAC/EventSequenceComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         23
      ICount:          200
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashGetAlgByIndex
        - CryptHashGetDigestSize
        - HandleToObject
        - NvClearOrderly
        - PCRExtend
        - PCRIsExtendAllowed
        - PCRIsStateSaved
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/HashHMAC/EventSequenceComplete.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:61,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:64,8'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
                - CryptHashGetDigestSize
                - PCRExtend
                - PCRIsExtendAllowed
                - PCRIsStateSaved
                - NvClearOrderly
        - Branch String:   'tpm/src/command/HashHMAC/EventSequenceComplete.c:64,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:67,32'
              BranchSideFuncs:
                - PCRIsExtendAllowed
                - PCRIsStateSaved
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
                - CryptHashGetDigestSize
                - PCRExtend
                - NvClearOrderly
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:83,5'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
                - CryptHashGetDigestSize
                - PCRExtend
        - Branch String:   'tpm/src/command/HashHMAC/EventSequenceComplete.c:67,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:68,13'
              BranchSideFuncs:
                - PCRIsStateSaved
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
                - CryptHashGetDigestSize
                - PCRExtend
                - NvClearOrderly
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:79,28'
              BranchSideFuncs:
                - PCRIsStateSaved
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
                - CryptHashGetDigestSize
                - PCRExtend
                - NvClearOrderly
        - Branch String:   'tpm/src/command/HashHMAC/EventSequenceComplete.c:79,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:80,13'
              BranchSideFuncs:
                - NvClearOrderly
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
                - CryptHashGetDigestSize
                - PCRExtend
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:81,5'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
                - CryptHashGetDigestSize
                - PCRExtend
        - Branch String:   'tpm/src/command/HashHMAC/EventSequenceComplete.c:80,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:80,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:81,5'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
                - CryptHashGetDigestSize
                - PCRExtend
        - Branch String:   'tpm/src/command/HashHMAC/EventSequenceComplete.c:85,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:87,42'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
                - CryptHashGetDigestSize
                - PCRExtend
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:105,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/HashHMAC/EventSequenceComplete.c:96,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:97,23'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - PCRExtend
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
            - BranchSide:      'tpm/src/command/HashHMAC/EventSequenceComplete.c:101,9'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptDigestUpdate2B
                - CryptHashGetDigestSize
                - CryptHashEnd
                - CryptHashGetDigestSize
                - PCRExtend
      Callsites:
        - Src:             'tpm/src/command/HashHMAC/EventSequenceComplete.c:57,32'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/HashHMAC/EventSequenceComplete.c:67,13'
          Dst:             PCRIsExtendAllowed
        - Src:             'tpm/src/command/HashHMAC/EventSequenceComplete.c:79,12'
          Dst:             PCRIsStateSaved
        - Src:             'tpm/src/command/HashHMAC/EventSequenceComplete.c:80,13'
          Dst:             NvClearOrderly
        - Src:             'tpm/src/command/HashHMAC/EventSequenceComplete.c:87,19'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'tpm/src/command/HashHMAC/EventSequenceComplete.c:89,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/HashHMAC/EventSequenceComplete.c:93,22'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/HashHMAC/EventSequenceComplete.c:92,9'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/command/HashHMAC/EventSequenceComplete.c:99,23'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/HashHMAC/EventSequenceComplete.c:97,13'
          Dst:             PCRExtend
    - functionName:    TPM2_HashSequenceStart
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/HashHMAC/HashSequenceStart.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ObjectCreateEventSequence
        - ObjectCreateHashSequence
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/HashHMAC/HashSequenceStart.c:52,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/HashSequenceStart.c:55,43'
              BranchSideFuncs:
                - ObjectCreateEventSequence
            - BranchSide:      'tpm/src/command/HashHMAC/HashSequenceStart.c:59,37'
              BranchSideFuncs:
                - ObjectCreateHashSequence
      Callsites:
        - Src:             'tpm/src/command/HashHMAC/HashSequenceStart.c:55,16'
          Dst:             ObjectCreateEventSequence
        - Src:             'tpm/src/command/HashHMAC/HashSequenceStart.c:59,12'
          Dst:             ObjectCreateHashSequence
    - functionName:    TPM2_MAC_Start
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/HashHMAC/MAC_Start.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         12
      ICount:          96
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - CryptSelectMac
        - HandleToObject
        - ObjectCreateHMACSequence
        - RcSafeAddToResult
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/HashHMAC/MAC_Start.c:69,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/MAC_Start.c:70,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/HashHMAC/MAC_Start.c:73,8'
              BranchSideFuncs:
                - ObjectCreateHMACSequence
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/HashHMAC/MAC_Start.c:73,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/MAC_Start.c:74,34'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/HashHMAC/MAC_Start.c:76,8'
              BranchSideFuncs:
                - ObjectCreateHMACSequence
        - Branch String:   'tpm/src/command/HashHMAC/MAC_Start.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/MAC_Start.c:77,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/HashHMAC/MAC_Start.c:79,9'
              BranchSideFuncs:
                - ObjectCreateHMACSequence
        - Branch String:   'tpm/src/command/HashHMAC/MAC_Start.c:79,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/MAC_Start.c:80,9'
              BranchSideFuncs:
                - ObjectCreateHMACSequence
            - BranchSide:      'tpm/src/command/HashHMAC/MAC_Start.c:86,9'
              BranchSideFuncs:
                - ObjectCreateHMACSequence
      Callsites:
        - Src:             'tpm/src/command/HashHMAC/MAC_Start.c:62,18'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/HashHMAC/MAC_Start.c:66,14'
          Dst:             CryptSelectMac
        - Src:             'tpm/src/command/HashHMAC/MAC_Start.c:74,16'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/HashHMAC/MAC_Start.c:85,12'
          Dst:             ObjectCreateHMACSequence
    - functionName:    TPM2_SequenceComplete
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/HashHMAC/SequenceComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         24
      ICount:          227
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptMacEnd
        - HandleToObject
        - TicketComputeHashCheck
        - TicketIsSafe
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/HashHMAC/SequenceComplete.c:58,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:58,11'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptMacEnd
                - CryptDigestUpdate2B
                - CryptHashEnd
                - TicketComputeHashCheck
                - TicketIsSafe
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:61,8'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptMacEnd
                - CryptDigestUpdate2B
                - CryptHashEnd
                - TicketComputeHashCheck
                - TicketIsSafe
        - Branch String:   'tpm/src/command/HashHMAC/SequenceComplete.c:57,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:59,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:61,8'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptMacEnd
                - CryptDigestUpdate2B
                - CryptHashEnd
                - TicketComputeHashCheck
                - TicketIsSafe
        - Branch String:   'tpm/src/command/HashHMAC/SequenceComplete.c:61,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:64,30'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptHashEnd
                - TicketComputeHashCheck
                - TicketIsSafe
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:106,30'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptMacEnd
        - Branch String:   'tpm/src/command/HashHMAC/SequenceComplete.c:74,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:78,30'
              BranchSideFuncs:
                - TicketIsSafe
                - TicketComputeHashCheck
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:82,9'
              BranchSideFuncs:
                - TicketComputeHashCheck
        - Branch String:   'tpm/src/command/HashHMAC/SequenceComplete.c:78,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:79,17'
              BranchSideFuncs:
                - TicketComputeHashCheck
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:80,9'
              BranchSideFuncs:
                - TicketComputeHashCheck
        - Branch String:   'tpm/src/command/HashHMAC/SequenceComplete.c:85,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:88,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:90,17'
              BranchSideFuncs:
                - TicketComputeHashCheck
        - Branch String:   'tpm/src/command/HashHMAC/SequenceComplete.c:90,17'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:93,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceComplete.c:100,17'
              BranchSideFuncs:
                - TicketComputeHashCheck
      Callsites:
        - Src:             'tpm/src/command/HashHMAC/SequenceComplete.c:54,32'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/HashHMAC/SequenceComplete.c:67,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/HashHMAC/SequenceComplete.c:70,30'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/command/HashHMAC/SequenceComplete.c:78,16'
          Dst:             TicketIsSafe
        - Src:             'tpm/src/command/HashHMAC/SequenceComplete.c:99,13'
          Dst:             TicketComputeHashCheck
        - Src:             'tpm/src/command/HashHMAC/SequenceComplete.c:106,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/HashHMAC/SequenceComplete.c:114,30'
          Dst:             CryptMacEnd
    - functionName:    TPM2_SequenceUpdate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/HashHMAC/SequenceUpdate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         25
      ICount:          153
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate2B
        - HandleToObject
        - ObjectIsSequence
        - TicketIsSafe
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/HashHMAC/SequenceUpdate.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:61,9'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - TicketIsSafe
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:65,8'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - TicketIsSafe
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/command/HashHMAC/SequenceUpdate.c:65,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:69,15'
              BranchSideFuncs:
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:78,12'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - TicketIsSafe
        - Branch String:   'tpm/src/command/HashHMAC/SequenceUpdate.c:69,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:72,34'
              BranchSideFuncs:
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:74,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/HashHMAC/SequenceUpdate.c:78,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:81,16'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - TicketIsSafe
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:95,17'
              BranchSideFuncs:
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/command/HashHMAC/SequenceUpdate.c:81,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:84,17'
              BranchSideFuncs:
                - TicketIsSafe
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:93,34'
              BranchSideFuncs:
                - CryptDigestUpdate2B
        - Branch String:   'tpm/src/command/HashHMAC/SequenceUpdate.c:89,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:90,21'
              BranchSideFuncs:
                - CryptDigestUpdate2B
            - BranchSide:      'tpm/src/command/HashHMAC/SequenceUpdate.c:91,13'
              BranchSideFuncs:
                - CryptDigestUpdate2B
      Callsites:
        - Src:             'tpm/src/command/HashHMAC/SequenceUpdate.c:56,18'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/HashHMAC/SequenceUpdate.c:60,9'
          Dst:             ObjectIsSequence
        - Src:             'tpm/src/command/HashHMAC/SequenceUpdate.c:72,13'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/HashHMAC/SequenceUpdate.c:89,20'
          Dst:             TicketIsSafe
        - Src:             'tpm/src/command/HashHMAC/SequenceUpdate.c:93,13'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/HashHMAC/SequenceUpdate.c:98,13'
          Dst:             CryptDigestUpdate2B
    - functionName:    TPM2_ChangeEPS
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Hierarchy/ChangeEPS.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptRandomGenerate
        - MemorySet
        - NvFlushHierarchy
        - NvWrite
        - ObjectFlushHierarchy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Hierarchy/ChangeEPS.c:50,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/ChangeEPS.c:50,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/ChangeEPS.c:53,5'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
                - MemorySet
                - ObjectFlushHierarchy
                - NvFlushHierarchy
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
      Callsites:
        - Src:             'tpm/src/command/Hierarchy/ChangeEPS.c:58,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/command/Hierarchy/ChangeEPS.c:61,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/command/Hierarchy/ChangeEPS.c:67,5'
          Dst:             MemorySet
        - Src:             'tpm/src/command/Hierarchy/ChangeEPS.c:76,5'
          Dst:             ObjectFlushHierarchy
        - Src:             'tpm/src/command/Hierarchy/ChangeEPS.c:79,5'
          Dst:             NvFlushHierarchy
        - Src:             'tpm/src/command/Hierarchy/ChangeEPS.c:82,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/ChangeEPS.c:83,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/ChangeEPS.c:84,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/ChangeEPS.c:85,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/ChangeEPS.c:86,5'
          Dst:             NvWrite
    - functionName:    TPM2_ChangePPS
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Hierarchy/ChangePPS.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         10
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CryptRandomGenerate
        - NvFlushHierarchy
        - NvWrite
        - ObjectFlushHierarchy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Hierarchy/ChangePPS.c:51,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/ChangePPS.c:51,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/ChangePPS.c:54,5'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
                - ObjectFlushHierarchy
                - NvFlushHierarchy
                - NvWrite
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/command/Hierarchy/ChangePPS.c:81,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/ChangePPS.c:83,32'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/command/Hierarchy/ChangePPS.c:86,5'
              BranchSideFuncs:
                - NvWrite
      Callsites:
        - Src:             'tpm/src/command/Hierarchy/ChangePPS.c:59,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/command/Hierarchy/ChangePPS.c:63,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/command/Hierarchy/ChangePPS.c:70,5'
          Dst:             ObjectFlushHierarchy
        - Src:             'tpm/src/command/Hierarchy/ChangePPS.c:73,5'
          Dst:             NvFlushHierarchy
        - Src:             'tpm/src/command/Hierarchy/ChangePPS.c:76,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/ChangePPS.c:77,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/ChangePPS.c:86,5'
          Dst:             NvWrite
    - functionName:    TPM2_Clear
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Hierarchy/Clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         8
      ICount:          72
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CryptRandomGenerate
        - DAPreInstall_Init
        - MemorySet
        - NvFlushHierarchy
        - NvWrite
        - ObjectFlushHierarchy
        - PCRChanged
        - PCR_ClearAuth
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Hierarchy/Clear.c:55,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/Clear.c:55,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/Clear.c:60,11'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
                - CryptRandomGenerate
                - MemorySet
                - MemorySet
                - MemorySet
                - MemorySet
                - MemorySet
                - MemorySet
                - ObjectFlushHierarchy
                - ObjectFlushHierarchy
                - NvFlushHierarchy
                - NvFlushHierarchy
                - DAPreInstall_Init
                - NvWrite
                - NvWrite
                - PCR_ClearAuth
                - PCRChanged
        - Branch String:   'tpm/src/command/Hierarchy/Clear.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/Clear.c:61,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/Clear.c:66,5'
              BranchSideFuncs:
                - CryptRandomGenerate
                - CryptRandomGenerate
                - CryptRandomGenerate
                - MemorySet
                - MemorySet
                - MemorySet
                - MemorySet
                - MemorySet
                - MemorySet
                - ObjectFlushHierarchy
                - ObjectFlushHierarchy
                - NvFlushHierarchy
                - NvFlushHierarchy
                - DAPreInstall_Init
                - NvWrite
                - NvWrite
                - PCR_ClearAuth
                - PCRChanged
      Callsites:
        - Src:             'tpm/src/command/Hierarchy/Clear.c:66,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/command/Hierarchy/Clear.c:69,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/command/Hierarchy/Clear.c:70,5'
          Dst:             CryptRandomGenerate
        - Src:             'tpm/src/command/Hierarchy/Clear.c:76,5'
          Dst:             MemorySet
        - Src:             'tpm/src/command/Hierarchy/Clear.c:77,5'
          Dst:             MemorySet
        - Src:             'tpm/src/command/Hierarchy/Clear.c:78,5'
          Dst:             MemorySet
        - Src:             'tpm/src/command/Hierarchy/Clear.c:82,5'
          Dst:             MemorySet
        - Src:             'tpm/src/command/Hierarchy/Clear.c:83,5'
          Dst:             MemorySet
        - Src:             'tpm/src/command/Hierarchy/Clear.c:84,5'
          Dst:             MemorySet
        - Src:             'tpm/src/command/Hierarchy/Clear.c:87,5'
          Dst:             ObjectFlushHierarchy
        - Src:             'tpm/src/command/Hierarchy/Clear.c:88,5'
          Dst:             ObjectFlushHierarchy
        - Src:             'tpm/src/command/Hierarchy/Clear.c:91,5'
          Dst:             NvFlushHierarchy
        - Src:             'tpm/src/command/Hierarchy/Clear.c:92,5'
          Dst:             NvFlushHierarchy
        - Src:             'tpm/src/command/Hierarchy/Clear.c:95,5'
          Dst:             DAPreInstall_Init
        - Src:             'tpm/src/command/Hierarchy/Clear.c:100,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/Clear.c:109,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/Clear.c:112,5'
          Dst:             PCR_ClearAuth
        - Src:             'tpm/src/command/Hierarchy/Clear.c:115,5'
          Dst:             PCRChanged
    - functionName:    TPM2_ClearControl
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Hierarchy/ClearControl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         14
      ICount:          72
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - NvWrite
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Hierarchy/ClearControl.c:50,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/ClearControl.c:50,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/ClearControl.c:55,8'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/command/Hierarchy/ClearControl.c:55,35'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/ClearControl.c:55,38'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/command/Hierarchy/ClearControl.c:60,8'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/command/Hierarchy/ClearControl.c:55,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/ClearControl.c:56,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/ClearControl.c:60,8'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/command/Hierarchy/ClearControl.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/ClearControl.c:61,25'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/command/Hierarchy/ClearControl.c:63,25'
              BranchSideFuncs:
                - NvWrite
      Callsites:
        - Src:             'tpm/src/command/Hierarchy/ClearControl.c:66,5'
          Dst:             NvWrite
    - functionName:    TPM2_CreatePrimary
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Hierarchy/CreatePrimary.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         18
      ICount:          198
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - AdjustAuthSize
        - CreateChecks
        - CryptCreateObject
        - DRBG_InstantiateSeeded
        - EntityGetHierarchy
        - FillInCreationData
        - FindEmptyObjectSlot
        - HierarchyGetPrimarySeed
        - ObjectSetLoadedAttributes
        - PublicMarshalAndComputeName
        - RcSafeAddToResult
        - TicketComputeCreation
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Hierarchy/CreatePrimary.c:81,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:82,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:85,20'
              BranchSideFuncs:
                - CreateChecks
                - AdjustAuthSize
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - ObjectSetLoadedAttributes
                - CryptCreateObject
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Hierarchy/CreatePrimary.c:93,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:94,34'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:96,25'
              BranchSideFuncs:
                - AdjustAuthSize
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - ObjectSetLoadedAttributes
                - CryptCreateObject
        - Branch String:   'tpm/src/command/Hierarchy/CreatePrimary.c:96,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:97,9'
              BranchSideFuncs:
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - ObjectSetLoadedAttributes
                - CryptCreateObject
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:106,57'
              BranchSideFuncs:
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - ObjectSetLoadedAttributes
                - CryptCreateObject
        - Branch String:   'tpm/src/command/Hierarchy/CreatePrimary.c:110,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:112,9'
              BranchSideFuncs:
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - ObjectSetLoadedAttributes
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:120,8'
              BranchSideFuncs:
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - ObjectSetLoadedAttributes
        - Branch String:   'tpm/src/command/Hierarchy/CreatePrimary.c:113,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:114,13'
              BranchSideFuncs:
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - ObjectSetLoadedAttributes
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:118,13'
              BranchSideFuncs:
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - ObjectSetLoadedAttributes
        - Branch String:   'tpm/src/command/Hierarchy/CreatePrimary.c:120,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:121,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/CreatePrimary.c:124,5'
              BranchSideFuncs:
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - ObjectSetLoadedAttributes
      Callsites:
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:80,17'
          Dst:             FindEmptyObjectSlot
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:92,14'
          Dst:             CreateChecks
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:94,16'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:96,9'
          Dst:             AdjustAuthSize
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:106,33'
          Dst:             HierarchyGetPrimarySeed
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:108,40'
          Dst:             PublicMarshalAndComputeName
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:105,9'
          Dst:             DRBG_InstantiateSeeded
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:117,18'
          Dst:             CryptCreateObject
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:128,5'
          Dst:             FillInCreationData
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:136,27'
          Dst:             EntityGetHierarchy
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:136,5'
          Dst:             TicketComputeCreation
        - Src:             'tpm/src/command/Hierarchy/CreatePrimary.c:142,5'
          Dst:             ObjectSetLoadedAttributes
    - functionName:    TPM2_HierarchyChangeAuth
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Hierarchy/HierarchyChangeAuth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         14
      ICount:          83
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryRemoveTrailingZeros
        - NvWrite
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:53,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:53,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:59,35'
              BranchSideFuncs:
                - MemoryRemoveTrailingZeros
                - NvWrite
                - NvWrite
                - NvWrite
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:59,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:60,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:63,12'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:63,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:66,28'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:70,34'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:74,31'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:79,30'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:83,13'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:59,8'
          Dst:             MemoryRemoveTrailingZeros
        - Src:             'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:67,13'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:71,13'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:80,13'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/HierarchyChangeAuth.c:83,13'
          Dst:             TpmFail
    - functionName:    TPM2_HierarchyControl
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Hierarchy/HierarchyControl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         55
      ICount:          274
      EdgeCount:       67
      CyclomaticComplexity: 14
      functionsReached:
        - NvClearOrderly
        - ObjectFlushHierarchy
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:54,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:61,16'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:61,16'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:69,16'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:81,16'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:89,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:61,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:62,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:63,13'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:69,50'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:69,53'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:71,19'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:69,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:70,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:71,19'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:71,37'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:71,40'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:74,13'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:72,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:72,19'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:74,13'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:71,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:73,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:74,13'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:82,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:82,19'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:84,19'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:81,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:83,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:84,19'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:84,37'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:84,40'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:87,13'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:85,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:85,19'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:87,13'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:84,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:86,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:87,13'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:104,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:107,22'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:110,22'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:113,22'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:116,22'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:119,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:122,25'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:122,29'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:139,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:122,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:126,9'
              BranchSideFuncs:
                - NvClearOrderly
                - ObjectFlushHierarchy
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:139,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:126,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:126,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:129,21'
              BranchSideFuncs:
                - ObjectFlushHierarchy
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:131,28'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:131,31'
              BranchSideFuncs:
                - ObjectFlushHierarchy
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:137,24'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Hierarchy/HierarchyControl.c:131,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:133,34'
              BranchSideFuncs:
                - ObjectFlushHierarchy
            - BranchSide:      'tpm/src/command/Hierarchy/HierarchyControl.c:137,24'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Hierarchy/HierarchyControl.c:89,13'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Hierarchy/HierarchyControl.c:119,13'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Hierarchy/HierarchyControl.c:126,9'
          Dst:             NvClearOrderly
        - Src:             'tpm/src/command/Hierarchy/HierarchyControl.c:133,13'
          Dst:             ObjectFlushHierarchy
    - functionName:    TPM2_SetPrimaryPolicy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Hierarchy/SetPrimaryPolicy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         16
      ICount:          132
      EdgeCount:       16
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashGetDigestSize
        - NvWrite
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:54,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:55,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:61,5'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:61,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:61,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:66,12'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
                - TpmFail
        - Branch String:   'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:66,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:69,30'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:75,36'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:81,33'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:87,32'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:100,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:100,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:103,13'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:54,33'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:71,13'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:72,13'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:77,13'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:78,13'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:89,13'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:90,13'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Hierarchy/SetPrimaryPolicy.c:103,13'
          Dst:             TpmFail
    - functionName:    TPM2_PP_Commands
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Misc/PP_Commands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         14
      ICount:          86
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - NvWrite
        - PhysicalPresenceCommandClear
        - PhysicalPresenceCommandSet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Misc/PP_Commands.c:53,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Misc/PP_Commands.c:53,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Misc/PP_Commands.c:58,11'
              BranchSideFuncs:
                - NvWrite
                - PhysicalPresenceCommandClear
                - PhysicalPresenceCommandSet
        - Branch String:   'tpm/src/command/Misc/PP_Commands.c:58,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Misc/PP_Commands.c:63,36'
              BranchSideFuncs:
                - PhysicalPresenceCommandSet
                - NvWrite
                - PhysicalPresenceCommandClear
            - BranchSide:      'tpm/src/command/Misc/PP_Commands.c:66,11'
              BranchSideFuncs:
                - NvWrite
                - PhysicalPresenceCommandClear
        - Branch String:   'tpm/src/command/Misc/PP_Commands.c:66,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Misc/PP_Commands.c:71,38'
              BranchSideFuncs:
                - PhysicalPresenceCommandClear
                - NvWrite
            - BranchSide:      'tpm/src/command/Misc/PP_Commands.c:74,5'
              BranchSideFuncs:
                - NvWrite
      Callsites:
        - Src:             'tpm/src/command/Misc/PP_Commands.c:63,9'
          Dst:             PhysicalPresenceCommandSet
        - Src:             'tpm/src/command/Misc/PP_Commands.c:71,9'
          Dst:             PhysicalPresenceCommandClear
        - Src:             'tpm/src/command/Misc/PP_Commands.c:74,5'
          Dst:             NvWrite
    - functionName:    TPM2_SetAlgorithmSet
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Misc/SetAlgorithmSet.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvWrite
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Misc/SetAlgorithmSet.c:50,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Misc/SetAlgorithmSet.c:50,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Misc/SetAlgorithmSet.c:53,23'
              BranchSideFuncs:
                - NvWrite
      Callsites:
        - Src:             'tpm/src/command/Misc/SetAlgorithmSet.c:56,5'
          Dst:             NvWrite
    - functionName:    TPM2_NV_Certify
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_Certify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         20
      ICount:          221
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - CryptHashEnd2B
        - CryptHashStart
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - NvGetIndexData
        - NvGetIndexInfo
        - NvGetIndexName
        - NvHashIndexData
        - NvReadAccessChecks
        - SignAttestInfo
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_Certify.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:72,9'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - NvReadAccessChecks
                - FillInAttestInfo
                - NvGetIndexName
                - CryptHashStart
                - NvHashIndexData
                - CryptHashEnd2B
                - SignAttestInfo
                - NvGetIndexData
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:73,31'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - NvReadAccessChecks
                - FillInAttestInfo
                - NvGetIndexName
                - CryptHashStart
                - NvHashIndexData
                - CryptHashEnd2B
                - SignAttestInfo
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Certify.c:73,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:74,9'
              BranchSideFuncs:
                - NvReadAccessChecks
                - FillInAttestInfo
                - NvGetIndexName
                - CryptHashStart
                - NvHashIndexData
                - CryptHashEnd2B
                - SignAttestInfo
                - NvGetIndexData
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:79,9'
              BranchSideFuncs:
                - NvReadAccessChecks
                - FillInAttestInfo
                - NvGetIndexName
                - CryptHashStart
                - NvHashIndexData
                - CryptHashEnd2B
                - SignAttestInfo
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Certify.c:80,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:81,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:85,16'
              BranchSideFuncs:
                - FillInAttestInfo
                - NvGetIndexName
                - CryptHashStart
                - NvHashIndexData
                - CryptHashEnd2B
                - SignAttestInfo
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Certify.c:85,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:86,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:92,8'
              BranchSideFuncs:
                - FillInAttestInfo
                - NvGetIndexName
                - CryptHashStart
                - NvHashIndexData
                - CryptHashEnd2B
                - SignAttestInfo
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Certify.c:92,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:93,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:99,9'
              BranchSideFuncs:
                - FillInAttestInfo
                - NvGetIndexName
                - CryptHashStart
                - NvHashIndexData
                - CryptHashEnd2B
                - SignAttestInfo
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Certify.c:105,24'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:105,28'
              BranchSideFuncs:
                - NvGetIndexData
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:109,21'
              BranchSideFuncs:
                - NvGetIndexData
                - SignAttestInfo
        - Branch String:   'tpm/src/command/NVStorage/NV_Certify.c:105,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:109,21'
              BranchSideFuncs:
                - NvGetIndexData
                - SignAttestInfo
            - BranchSide:      'tpm/src/command/NVStorage/NV_Certify.c:126,20'
              BranchSideFuncs:
                - CryptHashStart
                - NvHashIndexData
                - CryptHashEnd2B
                - SignAttestInfo
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:67,27'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:69,30'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:71,9'
          Dst:             IsSigningObject
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:73,9'
          Dst:             CryptSelectSignScheme
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:78,14'
          Dst:             NvReadAccessChecks
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:98,5'
          Dst:             FillInAttestInfo
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:102,5'
          Dst:             NvGetIndexName
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:118,9'
          Dst:             NvGetIndexData
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:132,13'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:133,9'
          Dst:             NvHashIndexData
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:135,9'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/NVStorage/NV_Certify.c:139,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_NV_ChangeAuth
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_ChangeAuth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptHashGetDigestSize
        - MemoryRemoveTrailingZeros
        - NvGetIndexInfo
        - NvWriteIndexAuth
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_ChangeAuth.c:58,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_ChangeAuth.c:60,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_ChangeAuth.c:64,29'
              BranchSideFuncs:
                - NvWriteIndexAuth
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_ChangeAuth.c:52,25'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_ChangeAuth.c:58,8'
          Dst:             MemoryRemoveTrailingZeros
        - Src:             'tpm/src/command/NVStorage/NV_ChangeAuth.c:59,10'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/NVStorage/NV_ChangeAuth.c:64,12'
          Dst:             NvWriteIndexAuth
    - functionName:    TPM2_NV_DefineSpace
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_DefineSpace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         105
      ICount:          541
      EdgeCount:       137
      CyclomaticComplexity: 34
      functionsReached:
        - CryptHashGetDigestSize
        - MemoryRemoveTrailingZeros
        - NvDefineIndex
        - NvIndexIsDefined
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:80,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:80,11'
              BranchSideFuncs:
                - MemoryRemoveTrailingZeros
                - CryptHashGetDigestSize
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:84,35'
              BranchSideFuncs:
                - MemoryRemoveTrailingZeros
                - CryptHashGetDigestSize
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:79,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:81,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:84,35'
              BranchSideFuncs:
                - MemoryRemoveTrailingZeros
                - CryptHashGetDigestSize
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:84,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:86,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:92,8'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:92,42'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:92,48'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:97,12'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:92,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:93,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:97,12'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:97,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:113,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:113,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:113,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:113,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:113,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:113,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:115,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:119,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:123,16'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:127,16'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:132,16'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:123,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:124,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:125,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:127,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:128,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:129,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:132,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:133,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:134,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:137,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:141,16'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:156,17'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:162,16'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:169,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:141,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:142,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:143,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:156,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:156,17'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:157,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:163,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:163,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:165,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:164,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:164,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:165,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:162,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:165,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:167,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:174,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:174,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:176,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:175,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:175,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:176,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:173,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:176,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:179,9'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:180,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:180,12'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:186,9'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:181,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:181,12'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:186,9'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:182,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:182,12'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:186,9'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:179,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:183,9'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:186,9'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:187,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:187,12'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:193,8'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:188,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:188,12'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:193,8'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:189,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:189,12'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:193,8'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:186,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:190,9'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:193,8'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:194,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:194,11'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:198,9'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:193,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:195,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:198,9'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:199,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:199,12'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:200,13'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:200,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:200,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:202,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:201,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:201,15'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:206,8'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:198,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:202,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:206,8'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:207,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:207,30'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:212,8'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:206,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:208,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:212,8'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:213,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:213,11'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:217,25'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:212,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:214,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:217,25'
              BranchSideFuncs:
                - NvIndexIsDefined
                - NvDefineIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_DefineSpace.c:217,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:218,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_DefineSpace.c:222,27'
              BranchSideFuncs:
                - NvDefineIndex
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_DefineSpace.c:64,16'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/NVStorage/NV_DefineSpace.c:84,8'
          Dst:             MemoryRemoveTrailingZeros
        - Src:             'tpm/src/command/NVStorage/NV_DefineSpace.c:85,10'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/NVStorage/NV_DefineSpace.c:217,8'
          Dst:             NvIndexIsDefined
        - Src:             'tpm/src/command/NVStorage/NV_DefineSpace.c:222,12'
          Dst:             NvDefineIndex
    - functionName:    TPM2_NV_Extend
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_Extend.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         15
      ICount:          139
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - MemorySet
        - NvGetIndexData
        - NvGetIndexInfo
        - NvWriteAccessChecks
        - NvWriteIndexData
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_Extend.c:70,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Extend.c:71,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Extend.c:74,9'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - TpmFail
                - MemorySet
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - NvWriteIndexData
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Extend.c:74,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Extend.c:75,9'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - TpmFail
                - MemorySet
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - NvWriteIndexData
                - NvGetIndexData
            - BranchSide:      'tpm/src/command/NVStorage/NV_Extend.c:80,47'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - TpmFail
                - MemorySet
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - NvWriteIndexData
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Extend.c:81,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Extend.c:81,5'
              BranchSideFuncs:
                - MemorySet
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - NvWriteIndexData
                - NvGetIndexData
            - BranchSide:      'tpm/src/command/NVStorage/NV_Extend.c:82,8'
              BranchSideFuncs:
                - MemorySet
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - NvWriteIndexData
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Extend.c:82,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Extend.c:84,24'
              BranchSideFuncs:
                - NvGetIndexData
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - NvWriteIndexData
            - BranchSide:      'tpm/src/command/NVStorage/NV_Extend.c:88,31'
              BranchSideFuncs:
                - MemorySet
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - NvWriteIndexData
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:58,28'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:68,14'
          Dst:             NvWriteAccessChecks
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:80,24'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:81,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:84,9'
          Dst:             NvGetIndexData
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:88,9'
          Dst:             MemorySet
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:91,24'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:94,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:97,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:100,5'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/NVStorage/NV_Extend.c:104,12'
          Dst:             NvWriteIndexData
    - functionName:    TPM2_NV_GlobalWriteLock
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_GlobalWriteLock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvSetGlobalLock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_GlobalWriteLock.c:53,12'
          Dst:             NvSetGlobalLock
    - functionName:    TPM2_NV_Increment
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_Increment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         19
      ICount:          136
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - NvGetIndexInfo
        - NvGetUINT64Data
        - NvReadMaxCount
        - NvWriteAccessChecks
        - NvWriteUINT64Data
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_Increment.c:62,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:63,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:66,9'
              BranchSideFuncs:
                - NvReadMaxCount
                - NvWriteUINT64Data
                - NvGetUINT64Data
        - Branch String:   'tpm/src/command/NVStorage/NV_Increment.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:67,9'
              BranchSideFuncs:
                - NvReadMaxCount
                - NvWriteUINT64Data
                - NvGetUINT64Data
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:72,9'
              BranchSideFuncs:
                - NvReadMaxCount
                - NvWriteUINT64Data
                - NvGetUINT64Data
        - Branch String:   'tpm/src/command/NVStorage/NV_Increment.c:72,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:73,22'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvWriteUINT64Data
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:76,38'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvWriteUINT64Data
        - Branch String:   'tpm/src/command/NVStorage/NV_Increment.c:85,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:90,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:97,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_Increment.c:91,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:91,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:96,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_Increment.c:90,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:94,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Increment.c:96,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_Increment.c:53,25'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_Increment.c:60,14'
          Dst:             NvWriteAccessChecks
        - Src:             'tpm/src/command/NVStorage/NV_Increment.c:73,22'
          Dst:             NvReadMaxCount
        - Src:             'tpm/src/command/NVStorage/NV_Increment.c:76,22'
          Dst:             NvGetUINT64Data
        - Src:             'tpm/src/command/NVStorage/NV_Increment.c:84,14'
          Dst:             NvWriteUINT64Data
    - functionName:    TPM2_NV_Read
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_Read.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         12
      ICount:          129
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - NvGetIndexData
        - NvGetIndexInfo
        - NvReadAccessChecks
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_Read.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Read.c:72,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Read.c:75,8'
              BranchSideFuncs:
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Read.c:75,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Read.c:76,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Read.c:79,8'
              BranchSideFuncs:
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Read.c:79,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Read.c:80,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Read.c:83,8'
              BranchSideFuncs:
                - NvGetIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Read.c:83,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Read.c:84,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Read.c:88,24'
              BranchSideFuncs:
                - NvGetIndexData
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_Read.c:63,25'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_Read.c:69,14'
          Dst:             NvReadAccessChecks
        - Src:             'tpm/src/command/NVStorage/NV_Read.c:91,5'
          Dst:             NvGetIndexData
    - functionName:    TPM2_NV_ReadLock
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_ReadLock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         11
      ICount:          87
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - NvGetIndexInfo
        - NvReadAccessChecks
        - NvWriteIndexAttributes
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_ReadLock.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_ReadLock.c:67,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_ReadLock.c:69,13'
              BranchSideFuncs:
                - NvWriteIndexAttributes
        - Branch String:   'tpm/src/command/NVStorage/NV_ReadLock.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_ReadLock.c:77,9'
              BranchSideFuncs:
                - NvWriteIndexAttributes
            - BranchSide:      'tpm/src/command/NVStorage/NV_ReadLock.c:82,5'
              BranchSideFuncs:
                - NvWriteIndexAttributes
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_ReadLock.c:59,30'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_ReadLock.c:65,14'
          Dst:             NvReadAccessChecks
        - Src:             'tpm/src/command/NVStorage/NV_ReadLock.c:85,12'
          Dst:             NvWriteIndexAttributes
    - functionName:    TPM2_NV_ReadPublic
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_ReadPublic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvGetIndexInfo
        - NvGetIndexName
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_ReadPublic.c:48,25'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_ReadPublic.c:56,5'
          Dst:             NvGetIndexName
    - functionName:    TPM2_NV_SetBits
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_SetBits.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         11
      ICount:          99
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - NvGetIndexInfo
        - NvGetUINT64Data
        - NvWriteAccessChecks
        - NvWriteUINT64Data
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_SetBits.c:68,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_SetBits.c:69,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_SetBits.c:72,9'
              BranchSideFuncs:
                - NvWriteUINT64Data
                - NvGetUINT64Data
        - Branch String:   'tpm/src/command/NVStorage/NV_SetBits.c:72,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_SetBits.c:73,9'
              BranchSideFuncs:
                - NvWriteUINT64Data
                - NvGetUINT64Data
            - BranchSide:      'tpm/src/command/NVStorage/NV_SetBits.c:76,9'
              BranchSideFuncs:
                - NvWriteUINT64Data
                - NvGetUINT64Data
        - Branch String:   'tpm/src/command/NVStorage/NV_SetBits.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_SetBits.c:77,18'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvWriteUINT64Data
            - BranchSide:      'tpm/src/command/NVStorage/NV_SetBits.c:80,36'
              BranchSideFuncs:
                - NvGetUINT64Data
                - NvWriteUINT64Data
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_SetBits.c:58,25'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_SetBits.c:66,14'
          Dst:             NvWriteAccessChecks
        - Src:             'tpm/src/command/NVStorage/NV_SetBits.c:80,20'
          Dst:             NvGetUINT64Data
        - Src:             'tpm/src/command/NVStorage/NV_SetBits.c:86,12'
          Dst:             NvWriteUINT64Data
    - functionName:    TPM2_NV_UndefineSpace
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_UndefineSpace.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         11
      ICount:          70
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - NvDeleteIndex
        - NvGetIndexInfo
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_UndefineSpace.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_UndefineSpace.c:61,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_UndefineSpace.c:65,8'
              BranchSideFuncs:
                - NvDeleteIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_UndefineSpace.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_UndefineSpace.c:66,11'
              BranchSideFuncs:
                - NvDeleteIndex
            - BranchSide:      'tpm/src/command/NVStorage/NV_UndefineSpace.c:72,26'
              BranchSideFuncs:
                - NvDeleteIndex
        - Branch String:   'tpm/src/command/NVStorage/NV_UndefineSpace.c:65,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_UndefineSpace.c:67,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_UndefineSpace.c:72,26'
              BranchSideFuncs:
                - NvDeleteIndex
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_UndefineSpace.c:56,25'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_UndefineSpace.c:72,12'
          Dst:             NvDeleteIndex
    - functionName:    TPM2_NV_UndefineSpaceSpecial
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvDeleteIndex
        - NvGetIndexInfo
        - SessionRemoveAssociationToHandle
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c:57,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c:58,9'
              BranchSideFuncs:
                - NvDeleteIndex
                - SessionRemoveAssociationToHandle
            - BranchSide:      'tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c:61,28'
              BranchSideFuncs:
                - NvDeleteIndex
                - SessionRemoveAssociationToHandle
        - Branch String:   'tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c:67,42'
              BranchSideFuncs:
                - SessionRemoveAssociationToHandle
            - BranchSide:      'tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c:68,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c:54,25'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c:61,14'
          Dst:             NvDeleteIndex
        - Src:             'tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c:67,9'
          Dst:             SessionRemoveAssociationToHandle
    - functionName:    TPM2_NV_Write
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_Write.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         22
      ICount:          171
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - NvGetIndexInfo
        - NvWriteAccessChecks
        - NvWriteIndexData
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_Write.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:72,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:76,8'
              BranchSideFuncs:
                - NvWriteIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Write.c:76,37'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:76,40'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:78,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_Write.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:77,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:78,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_Write.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:78,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:81,8'
              BranchSideFuncs:
                - NvWriteIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Write.c:81,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:82,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:85,8'
              BranchSideFuncs:
                - NvWriteIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Write.c:85,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:86,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:92,8'
              BranchSideFuncs:
                - NvWriteIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Write.c:93,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:93,11'
              BranchSideFuncs:
                - NvWriteIndexData
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:101,29'
              BranchSideFuncs:
                - NvWriteIndexData
        - Branch String:   'tpm/src/command/NVStorage/NV_Write.c:92,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:94,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_Write.c:101,29'
              BranchSideFuncs:
                - NvWriteIndexData
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_Write.c:62,28'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_Write.c:70,14'
          Dst:             NvWriteAccessChecks
        - Src:             'tpm/src/command/NVStorage/NV_Write.c:101,12'
          Dst:             NvWriteIndexData
    - functionName:    TPM2_NV_WriteLock
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_WriteLock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         13
      ICount:          97
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - NvGetIndexInfo
        - NvWriteAccessChecks
        - NvWriteIndexAttributes
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_WriteLock.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_WriteLock.c:68,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_WriteLock.c:76,9'
              BranchSideFuncs:
                - NvWriteIndexAttributes
        - Branch String:   'tpm/src/command/NVStorage/NV_WriteLock.c:68,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_WriteLock.c:69,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_WriteLock.c:72,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_WriteLock.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_WriteLock.c:77,12'
              BranchSideFuncs:
                - NvWriteIndexAttributes
            - BranchSide:      'tpm/src/command/NVStorage/NV_WriteLock.c:83,5'
              BranchSideFuncs:
                - NvWriteIndexAttributes
        - Branch String:   'tpm/src/command/NVStorage/NV_WriteLock.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_WriteLock.c:78,9'
              BranchSideFuncs:
                - NvWriteIndexAttributes
            - BranchSide:      'tpm/src/command/NVStorage/NV_WriteLock.c:83,5'
              BranchSideFuncs:
                - NvWriteIndexAttributes
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_WriteLock.c:58,30'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/NVStorage/NV_WriteLock.c:65,14'
          Dst:             NvWriteAccessChecks
        - Src:             'tpm/src/command/NVStorage/NV_WriteLock.c:86,12'
          Dst:             NvWriteIndexAttributes
    - functionName:    NvIsPinPassIndex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - index
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - HandleGetType
        - NvGetIndexInfo
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:151,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:153,19'
              BranchSideFuncs:
                - NvGetIndexInfo
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:157,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/NVStorage/NV_spt.c:151,8'
          Dst:             HandleGetType
        - Src:             'tpm/src/command/NVStorage/NV_spt.c:153,29'
          Dst:             NvGetIndexInfo
    - functionName:    NvClearOrderly
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          32
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    9
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:137,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:138,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:139,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:138,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:138,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:139,20'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    NvWriteAccessChecks
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - authHandle
        - nvHandle
        - attributes
      BBCount:         16
      ICount:          78
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:106,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:107,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:112,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:112,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:115,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:118,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:115,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:116,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:117,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:118,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:121,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:126,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:121,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:122,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:123,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:126,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:127,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    NvReadAccessChecks
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/NVStorage/NV_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - authHandle
        - nvHandle
        - attributes
      BBCount:         18
      ICount:          91
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:58,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:59,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:64,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:64,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:67,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:70,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:67,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:68,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:69,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:70,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:73,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:78,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:73,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:74,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:75,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:78,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:79,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/NVStorage/NV_spt.c:84,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:85,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/NVStorage/NV_spt.c:87,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    TPM2_ActivateCredential
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/ActivateCredential.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         17
      ICount:          127
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - CredentialToSecret
        - CryptIsAsymAlgorithm
        - CryptSecretDecrypt
        - HandleToObject
        - RcSafeAddToResult
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/ActivateCredential.c:75,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:75,12'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - CredentialToSecret
                - RcSafeAddToResult
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:77,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/ActivateCredential.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:76,12'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - CredentialToSecret
                - RcSafeAddToResult
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:77,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/ActivateCredential.c:74,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:77,9'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - CredentialToSecret
                - RcSafeAddToResult
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:84,33'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - CredentialToSecret
                - RcSafeAddToResult
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/ActivateCredential.c:85,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:87,12'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:94,34'
              BranchSideFuncs:
                - CredentialToSecret
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/ActivateCredential.c:87,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:88,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:89,34'
              BranchSideFuncs:
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/ActivateCredential.c:99,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:100,34'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/ActivateCredential.c:102,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/ActivateCredential.c:68,14'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Object/ActivateCredential.c:71,22'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Object/ActivateCredential.c:74,9'
          Dst:             CryptIsAsymAlgorithm
        - Src:             'tpm/src/command/Object/ActivateCredential.c:84,14'
          Dst:             CryptSecretDecrypt
        - Src:             'tpm/src/command/Object/ActivateCredential.c:89,16'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Object/ActivateCredential.c:94,14'
          Dst:             CredentialToSecret
        - Src:             'tpm/src/command/Object/ActivateCredential.c:100,16'
          Dst:             RcSafeAddToResult
    - functionName:    TPM2_Create
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Create.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         18
      ICount:          172
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - AdjustAuthSize
        - CreateChecks
        - CryptCreateObject
        - EntityGetHierarchy
        - FillInCreationData
        - FindEmptyObjectSlot
        - HandleToObject
        - ObjectIsParent
        - RcSafeAddToResult
        - SensitiveToPrivate
        - TicketComputeCreation
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Create.c:99,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Create.c:99,5'
              BranchSideFuncs:
                - ObjectIsParent
                - FindEmptyObjectSlot
                - CreateChecks
                - AdjustAuthSize
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - SensitiveToPrivate
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/Create.c:102,24'
              BranchSideFuncs:
                - ObjectIsParent
                - FindEmptyObjectSlot
                - CreateChecks
                - AdjustAuthSize
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - SensitiveToPrivate
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/Create.c:102,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Create.c:103,9'
              BranchSideFuncs:
                - FindEmptyObjectSlot
                - CreateChecks
                - AdjustAuthSize
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - SensitiveToPrivate
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/Create.c:106,17'
              BranchSideFuncs:
                - FindEmptyObjectSlot
                - CreateChecks
                - AdjustAuthSize
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - SensitiveToPrivate
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/Create.c:107,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Create.c:108,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Create.c:113,19'
              BranchSideFuncs:
                - CreateChecks
                - AdjustAuthSize
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - SensitiveToPrivate
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/Create.c:123,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Create.c:124,34'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/Create.c:126,25'
              BranchSideFuncs:
                - AdjustAuthSize
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Object/Create.c:126,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Create.c:127,9'
              BranchSideFuncs:
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - SensitiveToPrivate
            - BranchSide:      'tpm/src/command/Object/Create.c:131,32'
              BranchSideFuncs:
                - CryptCreateObject
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Object/Create.c:132,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Create.c:133,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Create.c:135,24'
              BranchSideFuncs:
                - FillInCreationData
                - EntityGetHierarchy
                - TicketComputeCreation
                - SensitiveToPrivate
      Callsites:
        - Src:             'tpm/src/command/Object/Create.c:98,20'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Object/Create.c:99,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Create.c:102,9'
          Dst:             ObjectIsParent
        - Src:             'tpm/src/command/Object/Create.c:106,17'
          Dst:             FindEmptyObjectSlot
        - Src:             'tpm/src/command/Object/Create.c:122,9'
          Dst:             CreateChecks
        - Src:             'tpm/src/command/Object/Create.c:124,16'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Object/Create.c:126,9'
          Dst:             AdjustAuthSize
        - Src:             'tpm/src/command/Object/Create.c:131,14'
          Dst:             CryptCreateObject
        - Src:             'tpm/src/command/Object/Create.c:135,5'
          Dst:             FillInCreationData
        - Src:             'tpm/src/command/Object/Create.c:143,27'
          Dst:             EntityGetHierarchy
        - Src:             'tpm/src/command/Object/Create.c:143,5'
          Dst:             TicketComputeCreation
        - Src:             'tpm/src/command/Object/Create.c:149,5'
          Dst:             SensitiveToPrivate
    - functionName:    TPM2_CreateLoaded
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/CreateLoaded.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         56
      ICount:          420
      EdgeCount:       76
      CyclomaticComplexity: 22
      functionsReached:
        - AdjustAuthSize
        - CreateChecks
        - CryptCreateObject
        - DRBG_InstantiateSeeded
        - DRBG_InstantiateSeededKdf
        - FindEmptyObjectSlot
        - HandleToObject
        - HierarchyGetPrimarySeed
        - ObjectSetLoadedAttributes
        - PublicAttributesValidation
        - PublicMarshalAndComputeName
        - RcSafeAddToResult
        - SensitiveToPrivate
        - SetLabelAndContext
        - TpmFail
        - UnmarshalToPublic
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:93,34'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:93,37'
              BranchSideFuncs:
                - FindEmptyObjectSlot
                - UnmarshalToPublic
                - AdjustAuthSize
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:93,34'
              BranchSideFuncs:
                - FindEmptyObjectSlot
                - UnmarshalToPublic
                - AdjustAuthSize
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:97,23'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:97,27'
              BranchSideFuncs:
                - FindEmptyObjectSlot
                - UnmarshalToPublic
                - AdjustAuthSize
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:101,38'
              BranchSideFuncs:
                - FindEmptyObjectSlot
                - UnmarshalToPublic
                - AdjustAuthSize
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:97,55'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:97,59'
              BranchSideFuncs:
                - FindEmptyObjectSlot
                - UnmarshalToPublic
                - AdjustAuthSize
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:101,38'
              BranchSideFuncs:
                - FindEmptyObjectSlot
                - UnmarshalToPublic
                - AdjustAuthSize
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:97,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:98,9'
              BranchSideFuncs:
                - FindEmptyObjectSlot
                - UnmarshalToPublic
                - AdjustAuthSize
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:101,38'
              BranchSideFuncs:
                - FindEmptyObjectSlot
                - UnmarshalToPublic
                - AdjustAuthSize
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:102,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:103,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:106,19'
              BranchSideFuncs:
                - UnmarshalToPublic
                - AdjustAuthSize
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:117,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:118,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:121,25'
              BranchSideFuncs:
                - AdjustAuthSize
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:121,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:122,9'
              BranchSideFuncs:
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:125,8'
              BranchSideFuncs:
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:125,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:128,19'
              BranchSideFuncs:
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:169,26'
              BranchSideFuncs:
                - CreateChecks
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:132,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:132,9'
              BranchSideFuncs:
                - TpmFail
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:132,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:132,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:132,9'
              BranchSideFuncs:
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:135,12'
              BranchSideFuncs:
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:135,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:136,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:139,12'
              BranchSideFuncs:
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:139,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:141,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:143,45'
              BranchSideFuncs:
                - PublicAttributesValidation
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:144,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:145,38'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:148,53'
              BranchSideFuncs:
                - SetLabelAndContext
                - DRBG_InstantiateSeededKdf
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:149,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:150,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:152,47'
              BranchSideFuncs:
                - DRBG_InstantiateSeededKdf
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:170,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:171,38'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:173,12'
              BranchSideFuncs:
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:173,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:176,13'
              BranchSideFuncs:
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:193,18'
              BranchSideFuncs:
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:177,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:178,17'
              BranchSideFuncs:
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:182,30'
              BranchSideFuncs:
                - HierarchyGetPrimarySeed
                - PublicMarshalAndComputeName
                - DRBG_InstantiateSeeded
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:187,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:188,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:189,9'
              BranchSideFuncs:
                - CryptCreateObject
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:199,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:200,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:203,8'
              BranchSideFuncs:
                - ObjectSetLoadedAttributes
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:203,23'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:203,27'
              BranchSideFuncs:
                - SensitiveToPrivate
                - ObjectSetLoadedAttributes
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:211,9'
              BranchSideFuncs:
                - ObjectSetLoadedAttributes
        - Branch String:   'tpm/src/command/Object/CreateLoaded.c:203,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:205,29'
              BranchSideFuncs:
                - ObjectSetLoadedAttributes
            - BranchSide:      'tpm/src/command/Object/CreateLoaded.c:211,9'
              BranchSideFuncs:
                - ObjectSetLoadedAttributes
      Callsites:
        - Src:             'tpm/src/command/Object/CreateLoaded.c:81,27'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Object/CreateLoaded.c:101,17'
          Dst:             FindEmptyObjectSlot
        - Src:             'tpm/src/command/Object/CreateLoaded.c:116,14'
          Dst:             UnmarshalToPublic
        - Src:             'tpm/src/command/Object/CreateLoaded.c:121,9'
          Dst:             AdjustAuthSize
        - Src:             'tpm/src/command/Object/CreateLoaded.c:132,9'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/CreateLoaded.c:143,18'
          Dst:             PublicAttributesValidation
        - Src:             'tpm/src/command/Object/CreateLoaded.c:145,20'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Object/CreateLoaded.c:148,18'
          Dst:             SetLabelAndContext
        - Src:             'tpm/src/command/Object/CreateLoaded.c:152,9'
          Dst:             DRBG_InstantiateSeededKdf
        - Src:             'tpm/src/command/Object/CreateLoaded.c:169,13'
          Dst:             CreateChecks
        - Src:             'tpm/src/command/Object/CreateLoaded.c:171,20'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Object/CreateLoaded.c:183,18'
          Dst:             HierarchyGetPrimarySeed
        - Src:             'tpm/src/command/Object/CreateLoaded.c:185,25'
          Dst:             PublicMarshalAndComputeName
        - Src:             'tpm/src/command/Object/CreateLoaded.c:181,22'
          Dst:             DRBG_InstantiateSeeded
        - Src:             'tpm/src/command/Object/CreateLoaded.c:198,14'
          Dst:             CryptCreateObject
        - Src:             'tpm/src/command/Object/CreateLoaded.c:205,9'
          Dst:             SensitiveToPrivate
        - Src:             'tpm/src/command/Object/CreateLoaded.c:216,5'
          Dst:             ObjectSetLoadedAttributes
    - functionName:    TPM2_Load
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Load.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         21
      ICount:          149
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - FindEmptyObjectSlot
        - HandleToObject
        - ObjectIsParent
        - ObjectLoad
        - ObjectSetLoadedAttributes
        - PrivateToSensitive
        - PublicMarshalAndComputeName
        - RcSafeAddToResult
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Load.c:80,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Load.c:81,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Load.c:83,8'
              BranchSideFuncs:
                - HandleToObject
                - TpmFail
                - ObjectIsParent
                - PublicMarshalAndComputeName
                - PrivateToSensitive
                - ObjectLoad
                - ObjectSetLoadedAttributes
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/Load.c:83,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Load.c:84,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Load.c:86,35'
              BranchSideFuncs:
                - HandleToObject
                - TpmFail
                - ObjectIsParent
                - PublicMarshalAndComputeName
                - PrivateToSensitive
                - ObjectLoad
                - ObjectSetLoadedAttributes
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/Load.c:87,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Load.c:87,5'
              BranchSideFuncs:
                - ObjectIsParent
                - PublicMarshalAndComputeName
                - PrivateToSensitive
                - ObjectLoad
                - ObjectSetLoadedAttributes
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/Load.c:89,24'
              BranchSideFuncs:
                - ObjectIsParent
                - PublicMarshalAndComputeName
                - PrivateToSensitive
                - ObjectLoad
                - ObjectSetLoadedAttributes
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/Load.c:89,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Load.c:90,9'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - PrivateToSensitive
                - ObjectLoad
                - ObjectSetLoadedAttributes
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/Load.c:94,34'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - PrivateToSensitive
                - ObjectLoad
                - ObjectSetLoadedAttributes
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/Load.c:95,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Load.c:96,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Load.c:99,34'
              BranchSideFuncs:
                - PrivateToSensitive
                - ObjectLoad
                - ObjectSetLoadedAttributes
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Object/Load.c:104,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Load.c:105,34'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Object/Load.c:109,25'
              BranchSideFuncs:
                - ObjectLoad
                - ObjectSetLoadedAttributes
        - Branch String:   'tpm/src/command/Object/Load.c:116,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Load.c:119,35'
              BranchSideFuncs:
                - ObjectSetLoadedAttributes
            - BranchSide:      'tpm/src/command/Object/Load.c:121,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/Load.c:79,17'
          Dst:             FindEmptyObjectSlot
        - Src:             'tpm/src/command/Object/Load.c:86,20'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Object/Load.c:87,5'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Object/Load.c:89,9'
          Dst:             ObjectIsParent
        - Src:             'tpm/src/command/Object/Load.c:94,5'
          Dst:             PublicMarshalAndComputeName
        - Src:             'tpm/src/command/Object/Load.c:99,14'
          Dst:             PrivateToSensitive
        - Src:             'tpm/src/command/Object/Load.c:105,16'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Object/Load.c:109,14'
          Dst:             ObjectLoad
        - Src:             'tpm/src/command/Object/Load.c:119,9'
          Dst:             ObjectSetLoadedAttributes
    - functionName:    TPM2_LoadExternal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/LoadExternal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         23
      ICount:          163
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - FindEmptyObjectSlot
        - HierarchyIsEnabled
        - ObjectLoad
        - ObjectSetLoadedAttributes
        - PublicMarshalAndComputeName
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/LoadExternal.c:82,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:83,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:87,28'
              BranchSideFuncs:
                - HierarchyIsEnabled
                - PublicMarshalAndComputeName
                - ObjectLoad
                - ObjectSetLoadedAttributes
        - Branch String:   'tpm/src/command/Object/LoadExternal.c:87,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:88,9'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - ObjectLoad
                - ObjectSetLoadedAttributes
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:91,8'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - ObjectLoad
                - ObjectSetLoadedAttributes
        - Branch String:   'tpm/src/command/Object/LoadExternal.c:91,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:95,12'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - ObjectLoad
                - ObjectSetLoadedAttributes
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:114,34'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - ObjectLoad
                - ObjectSetLoadedAttributes
        - Branch String:   'tpm/src/command/Object/LoadExternal.c:95,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:96,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:100,12'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - ObjectLoad
                - ObjectSetLoadedAttributes
        - Branch String:   'tpm/src/command/Object/LoadExternal.c:102,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:102,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:106,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/LoadExternal.c:104,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:104,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:106,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/LoadExternal.c:100,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:106,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:110,22'
              BranchSideFuncs:
                - PublicMarshalAndComputeName
                - ObjectLoad
                - ObjectSetLoadedAttributes
        - Branch String:   'tpm/src/command/Object/LoadExternal.c:124,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:126,9'
              BranchSideFuncs:
                - ObjectSetLoadedAttributes
            - BranchSide:      'tpm/src/command/Object/LoadExternal.c:130,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/LoadExternal.c:81,14'
          Dst:             FindEmptyObjectSlot
        - Src:             'tpm/src/command/Object/LoadExternal.c:87,9'
          Dst:             HierarchyIsEnabled
        - Src:             'tpm/src/command/Object/LoadExternal.c:114,5'
          Dst:             PublicMarshalAndComputeName
        - Src:             'tpm/src/command/Object/LoadExternal.c:117,14'
          Dst:             ObjectLoad
        - Src:             'tpm/src/command/Object/LoadExternal.c:128,9'
          Dst:             ObjectSetLoadedAttributes
    - functionName:    TPM2_MakeCredential
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/MakeCredential.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         15
      ICount:          121
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - CryptHashGetDigestSize
        - CryptIsAsymAlgorithm
        - CryptSecretEncrypt
        - HandleToObject
        - SecretToCredential
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/MakeCredential.c:70,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/MakeCredential.c:70,12'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptSecretEncrypt
                - SecretToCredential
            - BranchSide:      'tpm/src/command/Object/MakeCredential.c:72,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/MakeCredential.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/MakeCredential.c:71,12'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptSecretEncrypt
                - SecretToCredential
            - BranchSide:      'tpm/src/command/Object/MakeCredential.c:72,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/MakeCredential.c:69,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/MakeCredential.c:72,9'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptSecretEncrypt
                - SecretToCredential
            - BranchSide:      'tpm/src/command/Object/MakeCredential.c:76,8'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptSecretEncrypt
                - SecretToCredential
        - Branch String:   'tpm/src/command/Object/MakeCredential.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/MakeCredential.c:77,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/MakeCredential.c:82,5'
              BranchSideFuncs:
                - CryptSecretEncrypt
                - SecretToCredential
        - Branch String:   'tpm/src/command/Object/MakeCredential.c:84,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/MakeCredential.c:85,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/MakeCredential.c:89,10'
              BranchSideFuncs:
                - SecretToCredential
      Callsites:
        - Src:             'tpm/src/command/Object/MakeCredential.c:65,14'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Object/MakeCredential.c:69,9'
          Dst:             CryptIsAsymAlgorithm
        - Src:             'tpm/src/command/Object/MakeCredential.c:76,32'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Object/MakeCredential.c:83,14'
          Dst:             CryptSecretEncrypt
        - Src:             'tpm/src/command/Object/MakeCredential.c:88,5'
          Dst:             SecretToCredential
    - functionName:    TPM2_ObjectChangeAuth
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/ObjectChangeAuth.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         10
      ICount:          101
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - AdjustAuthSize
        - ComputeQualifiedName
        - HandleToObject
        - MemoryEqual2B
        - ObjectIsSequence
        - SensitiveToPrivate
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/ObjectChangeAuth.c:64,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/ObjectChangeAuth.c:65,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/ObjectChangeAuth.c:68,25'
              BranchSideFuncs:
                - AdjustAuthSize
                - ComputeQualifiedName
                - MemoryEqual2B
                - HandleToObject
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Object/ObjectChangeAuth.c:68,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/ObjectChangeAuth.c:69,9'
              BranchSideFuncs:
                - ComputeQualifiedName
                - MemoryEqual2B
                - HandleToObject
                - SensitiveToPrivate
            - BranchSide:      'tpm/src/command/Object/ObjectChangeAuth.c:75,9'
              BranchSideFuncs:
                - ComputeQualifiedName
                - MemoryEqual2B
                - HandleToObject
                - SensitiveToPrivate
        - Branch String:   'tpm/src/command/Object/ObjectChangeAuth.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/ObjectChangeAuth.c:77,9'
              BranchSideFuncs:
                - HandleToObject
                - SensitiveToPrivate
            - BranchSide:      'tpm/src/command/Object/ObjectChangeAuth.c:81,27'
              BranchSideFuncs:
                - HandleToObject
                - SensitiveToPrivate
      Callsites:
        - Src:             'tpm/src/command/Object/ObjectChangeAuth.c:58,29'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Object/ObjectChangeAuth.c:64,8'
          Dst:             ObjectIsSequence
        - Src:             'tpm/src/command/Object/ObjectChangeAuth.c:68,9'
          Dst:             AdjustAuthSize
        - Src:             'tpm/src/command/Object/ObjectChangeAuth.c:74,5'
          Dst:             ComputeQualifiedName
        - Src:             'tpm/src/command/Object/ObjectChangeAuth.c:76,9'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/Object/ObjectChangeAuth.c:87,24'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Object/ObjectChangeAuth.c:85,5'
          Dst:             SensitiveToPrivate
    - functionName:    TPM2_ReadPublic
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/ReadPublic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - HandleToObject
        - ObjectIsSequence
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/ReadPublic.c:55,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/ReadPublic.c:56,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/ReadPublic.c:59,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/ReadPublic.c:51,22'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Object/ReadPublic.c:55,8'
          Dst:             ObjectIsSequence
    - functionName:    TPM2_Unseal
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Object/Unseal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         13
      ICount:          88
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - HandleToObject
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Object/Unseal.c:55,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Unseal.c:56,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Unseal.c:57,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Unseal.c:58,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Unseal.c:58,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Unseal.c:60,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Unseal.c:59,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Unseal.c:59,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Unseal.c:60,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Object/Unseal.c:57,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Object/Unseal.c:60,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Object/Unseal.c:63,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Object/Unseal.c:52,14'
          Dst:             HandleToObject
    - functionName:    TPM2_PCR_Allocate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/PCR/PCR_Allocate.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         11
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - PCRAllocate
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/PCR/PCR_Allocate.c:61,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Allocate.c:61,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/PCR/PCR_Allocate.c:67,10'
              BranchSideFuncs:
                - PCRAllocate
        - Branch String:   'tpm/src/command/PCR/PCR_Allocate.c:68,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Allocate.c:69,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/PCR/PCR_Allocate.c:72,31'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/PCR/PCR_Allocate.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Allocate.c:77,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/PCR/PCR_Allocate.c:79,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/PCR/PCR_Allocate.c:66,14'
          Dst:             PCRAllocate
    - functionName:    TPM2_PCR_Event
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/PCR/PCR_Event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         21
      ICount:          154
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashGetAlgByIndex
        - CryptHashStart
        - NvClearOrderly
        - PCRExtend
        - PCRIsExtendAllowed
        - PCRIsStateSaved
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/PCR/PCR_Event.c:58,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:61,32'
              BranchSideFuncs:
                - PCRIsExtendAllowed
                - PCRIsStateSaved
                - CryptHashGetAlgByIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptHashEnd
                - PCRExtend
                - NvClearOrderly
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:72,5'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptHashEnd
                - PCRExtend
        - Branch String:   'tpm/src/command/PCR/PCR_Event.c:61,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:62,13'
              BranchSideFuncs:
                - PCRIsStateSaved
                - CryptHashGetAlgByIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptHashEnd
                - PCRExtend
                - NvClearOrderly
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:66,28'
              BranchSideFuncs:
                - PCRIsStateSaved
                - CryptHashGetAlgByIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptHashEnd
                - PCRExtend
                - NvClearOrderly
        - Branch String:   'tpm/src/command/PCR/PCR_Event.c:66,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:67,13'
              BranchSideFuncs:
                - NvClearOrderly
                - CryptHashGetAlgByIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptHashEnd
                - PCRExtend
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:68,5'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptHashEnd
                - PCRExtend
        - Branch String:   'tpm/src/command/PCR/PCR_Event.c:67,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:67,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:68,5'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptHashEnd
                - PCRExtend
        - Branch String:   'tpm/src/command/PCR/PCR_Event.c:75,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:77,66'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptHashEnd
                - PCRExtend
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:87,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/PCR/PCR_Event.c:82,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:84,17'
              BranchSideFuncs:
                - PCRExtend
                - CryptHashGetAlgByIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptHashEnd
            - BranchSide:      'tpm/src/command/PCR/PCR_Event.c:85,5'
              BranchSideFuncs:
                - CryptHashGetAlgByIndex
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptHashEnd
                - PCRExtend
      Callsites:
        - Src:             'tpm/src/command/PCR/PCR_Event.c:61,13'
          Dst:             PCRIsExtendAllowed
        - Src:             'tpm/src/command/PCR/PCR_Event.c:66,12'
          Dst:             PCRIsStateSaved
        - Src:             'tpm/src/command/PCR/PCR_Event.c:67,13'
          Dst:             NvClearOrderly
        - Src:             'tpm/src/command/PCR/PCR_Event.c:77,43'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'tpm/src/command/PCR/PCR_Event.c:79,43'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/PCR/PCR_Event.c:80,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/PCR/PCR_Event.c:81,9'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/command/PCR/PCR_Event.c:83,13'
          Dst:             PCRExtend
    - functionName:    TPM2_PCR_Extend
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/PCR/PCR_Extend.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         17
      ICount:          118
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - CryptHashGetDigestSize
        - NvClearOrderly
        - PCRExtend
        - PCRIsExtendAllowed
        - PCRIsStateSaved
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/PCR/PCR_Extend.c:63,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Extend.c:64,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/PCR/PCR_Extend.c:67,28'
              BranchSideFuncs:
                - PCRIsExtendAllowed
                - PCRIsStateSaved
                - CryptHashGetDigestSize
                - PCRExtend
                - NvClearOrderly
        - Branch String:   'tpm/src/command/PCR/PCR_Extend.c:67,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Extend.c:68,9'
              BranchSideFuncs:
                - PCRIsStateSaved
                - CryptHashGetDigestSize
                - PCRExtend
                - NvClearOrderly
            - BranchSide:      'tpm/src/command/PCR/PCR_Extend.c:72,24'
              BranchSideFuncs:
                - PCRIsStateSaved
                - CryptHashGetDigestSize
                - PCRExtend
                - NvClearOrderly
        - Branch String:   'tpm/src/command/PCR/PCR_Extend.c:72,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Extend.c:73,9'
              BranchSideFuncs:
                - NvClearOrderly
                - CryptHashGetDigestSize
                - PCRExtend
            - BranchSide:      'tpm/src/command/PCR/PCR_Extend.c:78,11'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - PCRExtend
        - Branch String:   'tpm/src/command/PCR/PCR_Extend.c:73,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Extend.c:73,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/PCR/PCR_Extend.c:78,11'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - PCRExtend
        - Branch String:   'tpm/src/command/PCR/PCR_Extend.c:78,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Extend.c:80,19'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - PCRExtend
            - BranchSide:      'tpm/src/command/PCR/PCR_Extend.c:86,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/PCR/PCR_Extend.c:67,9'
          Dst:             PCRIsExtendAllowed
        - Src:             'tpm/src/command/PCR/PCR_Extend.c:72,8'
          Dst:             PCRIsStateSaved
        - Src:             'tpm/src/command/PCR/PCR_Extend.c:73,9'
          Dst:             NvClearOrderly
        - Src:             'tpm/src/command/PCR/PCR_Extend.c:82,19'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/PCR/PCR_Extend.c:80,9'
          Dst:             PCRExtend
    - functionName:    TPM2_PCR_Read
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/PCR/PCR_Read.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - PCRRead
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/PCR/PCR_Read.c:52,5'
          Dst:             PCRRead
    - functionName:    TPM2_PCR_Reset
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/PCR/PCR_Reset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         11
      ICount:          63
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - NvClearOrderly
        - PCRChanged
        - PCRIsResetAllowed
        - PCRIsStateSaved
        - PCRSetValue
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/PCR/PCR_Reset.c:53,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Reset.c:54,9'
              BranchSideFuncs:
                - PCRIsStateSaved
                - PCRSetValue
                - PCRChanged
                - NvClearOrderly
            - BranchSide:      'tpm/src/command/PCR/PCR_Reset.c:58,24'
              BranchSideFuncs:
                - PCRIsStateSaved
                - PCRSetValue
                - PCRChanged
                - NvClearOrderly
        - Branch String:   'tpm/src/command/PCR/PCR_Reset.c:58,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Reset.c:59,9'
              BranchSideFuncs:
                - NvClearOrderly
                - PCRSetValue
                - PCRChanged
            - BranchSide:      'tpm/src/command/PCR/PCR_Reset.c:64,17'
              BranchSideFuncs:
                - PCRSetValue
                - PCRChanged
        - Branch String:   'tpm/src/command/PCR/PCR_Reset.c:59,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_Reset.c:59,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/PCR/PCR_Reset.c:64,17'
              BranchSideFuncs:
                - PCRSetValue
                - PCRChanged
      Callsites:
        - Src:             'tpm/src/command/PCR/PCR_Reset.c:53,9'
          Dst:             PCRIsResetAllowed
        - Src:             'tpm/src/command/PCR/PCR_Reset.c:58,8'
          Dst:             PCRIsStateSaved
        - Src:             'tpm/src/command/PCR/PCR_Reset.c:59,9'
          Dst:             NvClearOrderly
        - Src:             'tpm/src/command/PCR/PCR_Reset.c:64,5'
          Dst:             PCRSetValue
        - Src:             'tpm/src/command/PCR/PCR_Reset.c:68,5'
          Dst:             PCRChanged
    - functionName:    TPM2_PCR_SetAuthPolicy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/PCR/PCR_SetAuthPolicy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         10
      ICount:          77
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - CryptHashGetDigestSize
        - NvWrite
        - PCRBelongsPolicyGroup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/PCR/PCR_SetAuthPolicy.c:57,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_SetAuthPolicy.c:57,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/PCR/PCR_SetAuthPolicy.c:62,8'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - PCRBelongsPolicyGroup
                - NvWrite
        - Branch String:   'tpm/src/command/PCR/PCR_SetAuthPolicy.c:62,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_SetAuthPolicy.c:63,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/PCR/PCR_SetAuthPolicy.c:66,31'
              BranchSideFuncs:
                - PCRBelongsPolicyGroup
                - NvWrite
        - Branch String:   'tpm/src/command/PCR/PCR_SetAuthPolicy.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_SetAuthPolicy.c:67,9'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/command/PCR/PCR_SetAuthPolicy.c:72,42'
              BranchSideFuncs:
                - NvWrite
      Callsites:
        - Src:             'tpm/src/command/PCR/PCR_SetAuthPolicy.c:62,33'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/PCR/PCR_SetAuthPolicy.c:66,9'
          Dst:             PCRBelongsPolicyGroup
        - Src:             'tpm/src/command/PCR/PCR_SetAuthPolicy.c:76,5'
          Dst:             NvWrite
    - functionName:    TPM2_PCR_SetAuthValue
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/PCR/PCR_SetAuthValue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - MemoryRemoveTrailingZeros
        - NvClearOrderly
        - PCRBelongsAuthGroup
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/PCR/PCR_SetAuthValue.c:54,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_SetAuthValue.c:55,9'
              BranchSideFuncs:
                - NvClearOrderly
                - MemoryRemoveTrailingZeros
            - BranchSide:      'tpm/src/command/PCR/PCR_SetAuthValue.c:61,5'
              BranchSideFuncs:
                - NvClearOrderly
                - MemoryRemoveTrailingZeros
        - Branch String:   'tpm/src/command/PCR/PCR_SetAuthValue.c:61,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/PCR/PCR_SetAuthValue.c:61,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/PCR/PCR_SetAuthValue.c:66,32'
              BranchSideFuncs:
                - MemoryRemoveTrailingZeros
      Callsites:
        - Src:             'tpm/src/command/PCR/PCR_SetAuthValue.c:54,9'
          Dst:             PCRBelongsAuthGroup
        - Src:             'tpm/src/command/PCR/PCR_SetAuthValue.c:61,5'
          Dst:             NvClearOrderly
        - Src:             'tpm/src/command/PCR/PCR_SetAuthValue.c:66,5'
          Dst:             MemoryRemoveTrailingZeros
    - functionName:    TPM2_GetRandom
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Random/GetRandom.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptRandomGenerate
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Random/GetRandom.c:52,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Random/GetRandom.c:53,9'
              BranchSideFuncs:
                - CryptRandomGenerate
            - BranchSide:      'tpm/src/command/Random/GetRandom.c:55,35'
              BranchSideFuncs:
                - CryptRandomGenerate
      Callsites:
        - Src:             'tpm/src/command/Random/GetRandom.c:57,5'
          Dst:             CryptRandomGenerate
    - functionName:    TPM2_StirRandom
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Random/StirRandom.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptRandomStir
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/Random/StirRandom.c:48,5'
          Dst:             CryptRandomStir
    - functionName:    TPM2_PolicyRestart
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Session/PolicyRestart.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/Session/PolicyRestart.c:48,28'
          Dst:             SessionGet
        - Src:             'tpm/src/command/Session/PolicyRestart.c:48,5'
          Dst:             SessionResetPolicyData
    - functionName:    TPM2_StartAuthSession
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Session/StartAuthSession.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         42
      ICount:          296
      EdgeCount:       56
      CyclomaticComplexity: 16
      functionsReached:
        - CryptHashGetDigestSize
        - CryptIsAsymAlgorithm
        - CryptSecretDecrypt
        - HandleGetType
        - HandleToObject
        - NvGetIndexInfo
        - SessionCreate
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:75,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:75,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:76,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:74,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:76,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:79,8'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
                - HandleToObject
                - CryptIsAsymAlgorithm
                - CryptSecretDecrypt
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:79,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:82,33'
              BranchSideFuncs:
                - HandleToObject
                - CryptIsAsymAlgorithm
                - CryptSecretDecrypt
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:111,12'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:88,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:89,13'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:91,12'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:91,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:92,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:95,12'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:95,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:96,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:99,13'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:99,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:100,13'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:104,13'
              BranchSideFuncs:
                - CryptSecretDecrypt
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:105,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:106,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:107,5'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:111,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:112,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:113,16'
              BranchSideFuncs:
                - HandleGetType
                - NvGetIndexInfo
                - SessionCreate
                - HandleToObject
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:115,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:119,45'
              BranchSideFuncs:
                - HandleToObject
                - SessionCreate
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:134,52'
              BranchSideFuncs:
                - NvGetIndexInfo
                - SessionCreate
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:141,13'
              BranchSideFuncs:
                - SessionCreate
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:127,16'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:128,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:129,13'
              BranchSideFuncs:
                - SessionCreate
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:136,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:136,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:137,21'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:135,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:137,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:138,17'
              BranchSideFuncs:
                - SessionCreate
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:146,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:146,11'
              BranchSideFuncs:
                - SessionCreate
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:158,28'
              BranchSideFuncs:
                - SessionCreate
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:147,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:147,11'
              BranchSideFuncs:
                - SessionCreate
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:158,28'
              BranchSideFuncs:
                - SessionCreate
        - Branch String:   'tpm/src/command/Session/StartAuthSession.c:145,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:148,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Session/StartAuthSession.c:158,28'
              BranchSideFuncs:
                - SessionCreate
      Callsites:
        - Src:             'tpm/src/command/Session/StartAuthSession.c:75,36'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Session/StartAuthSession.c:82,18'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Session/StartAuthSession.c:88,13'
          Dst:             CryptIsAsymAlgorithm
        - Src:             'tpm/src/command/Session/StartAuthSession.c:103,18'
          Dst:             CryptSecretDecrypt
        - Src:             'tpm/src/command/Session/StartAuthSession.c:115,12'
          Dst:             HandleGetType
        - Src:             'tpm/src/command/Session/StartAuthSession.c:119,30'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Session/StartAuthSession.c:134,37'
          Dst:             NvGetIndexInfo
        - Src:             'tpm/src/command/Session/StartAuthSession.c:158,14'
          Dst:             SessionCreate
    - functionName:    TPM2_Sign
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Signature/Sign.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         20
      ICount:          155
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - CryptHashGetDigestSize
        - CryptSelectSignScheme
        - CryptSign
        - HandleToObject
        - IsSigningObject
        - MemoryEqual2B
        - TicketComputeHashCheck
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Signature/Sign.c:67,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/Sign.c:68,9'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - CryptHashGetDigestSize
                - CryptSign
                - TicketComputeHashCheck
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/Signature/Sign.c:71,8'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - CryptHashGetDigestSize
                - CryptSign
                - TicketComputeHashCheck
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/Signature/Sign.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/Sign.c:72,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Signature/Sign.c:76,31'
              BranchSideFuncs:
                - CryptSelectSignScheme
                - CryptHashGetDigestSize
                - CryptSign
                - TicketComputeHashCheck
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/Signature/Sign.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/Sign.c:77,9'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptSign
                - TicketComputeHashCheck
                - MemoryEqual2B
            - BranchSide:      'tpm/src/command/Signature/Sign.c:80,8'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptSign
                - TicketComputeHashCheck
                - MemoryEqual2B
        - Branch String:   'tpm/src/command/Signature/Sign.c:81,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/Sign.c:81,11'
              BranchSideFuncs:
                - TicketComputeHashCheck
                - MemoryEqual2B
                - CryptSign
            - BranchSide:      'tpm/src/command/Signature/Sign.c:85,32'
              BranchSideFuncs:
                - TicketComputeHashCheck
                - MemoryEqual2B
                - CryptSign
        - Branch String:   'tpm/src/command/Signature/Sign.c:80,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/Sign.c:85,32'
              BranchSideFuncs:
                - TicketComputeHashCheck
                - MemoryEqual2B
                - CryptSign
            - BranchSide:      'tpm/src/command/Signature/Sign.c:99,12'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptSign
        - Branch String:   'tpm/src/command/Signature/Sign.c:90,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/Sign.c:91,13'
              BranchSideFuncs:
                - CryptSign
            - BranchSide:      'tpm/src/command/Signature/Sign.c:92,5'
              BranchSideFuncs:
                - CryptSign
        - Branch String:   'tpm/src/command/Signature/Sign.c:99,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/Sign.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Signature/Sign.c:101,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Signature/Sign.c:64,36'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Signature/Sign.c:67,9'
          Dst:             IsSigningObject
        - Src:             'tpm/src/command/Signature/Sign.c:76,9'
          Dst:             CryptSelectSignScheme
        - Src:             'tpm/src/command/Signature/Sign.c:85,9'
          Dst:             TicketComputeHashCheck
        - Src:             'tpm/src/command/Signature/Sign.c:90,13'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/command/Signature/Sign.c:100,15'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/command/Signature/Sign.c:107,14'
          Dst:             CryptSign
    - functionName:    TPM2_VerifySignature
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Signature/VerifySignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         14
      ICount:          116
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - CryptValidateSignature
        - GetHierarchy
        - HandleToObject
        - RcSafeAddToResult
        - TicketComputeVerified
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Signature/VerifySignature.c:61,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/VerifySignature.c:62,9'
              BranchSideFuncs:
                - CryptValidateSignature
                - GetHierarchy
                - TicketComputeVerified
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Signature/VerifySignature.c:66,37'
              BranchSideFuncs:
                - CryptValidateSignature
                - GetHierarchy
                - TicketComputeVerified
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Signature/VerifySignature.c:67,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/VerifySignature.c:68,34'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Signature/VerifySignature.c:72,30'
              BranchSideFuncs:
                - GetHierarchy
                - TicketComputeVerified
        - Branch String:   'tpm/src/command/Signature/VerifySignature.c:73,33'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/VerifySignature.c:73,36'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Signature/VerifySignature.c:77,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Signature/VerifySignature.c:73,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Signature/VerifySignature.c:77,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Signature/VerifySignature.c:85,13'
              BranchSideFuncs:
                - TicketComputeVerified
      Callsites:
        - Src:             'tpm/src/command/Signature/VerifySignature.c:56,36'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Signature/VerifySignature.c:66,14'
          Dst:             CryptValidateSignature
        - Src:             'tpm/src/command/Signature/VerifySignature.c:68,16'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Signature/VerifySignature.c:72,17'
          Dst:             GetHierarchy
        - Src:             'tpm/src/command/Signature/VerifySignature.c:84,9'
          Dst:             TicketComputeVerified
    - functionName:    TPM2_Shutdown
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Startup/Shutdown.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         22
      ICount:          119
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - ActShutdown
        - NvUpdateIndexOrderlyData
        - NvWrite
        - PCRStateSave
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Startup/Shutdown.c:53,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:53,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:57,8'
              BranchSideFuncs:
                - PCRStateSave
                - ActShutdown
                - NvUpdateIndexOrderlyData
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/command/Startup/Shutdown.c:57,22'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:57,25'
              BranchSideFuncs:
                - PCRStateSave
                - ActShutdown
                - NvUpdateIndexOrderlyData
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:60,23'
              BranchSideFuncs:
                - PCRStateSave
                - ActShutdown
                - NvUpdateIndexOrderlyData
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/command/Startup/Shutdown.c:57,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:58,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:60,23'
              BranchSideFuncs:
                - PCRStateSave
                - ActShutdown
                - NvUpdateIndexOrderlyData
                - NvWrite
                - NvWrite
                - NvWrite
                - NvWrite
        - Branch String:   'tpm/src/command/Startup/Shutdown.c:89,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:92,9'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:102,13'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/command/Startup/Shutdown.c:96,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:97,29'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:98,17'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/command/Startup/Shutdown.c:102,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Startup/Shutdown.c:103,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Startup/Shutdown.c:73,5'
          Dst:             PCRStateSave
        - Src:             'tpm/src/command/Startup/Shutdown.c:76,5'
          Dst:             ActShutdown
        - Src:             'tpm/src/command/Startup/Shutdown.c:79,5'
          Dst:             NvUpdateIndexOrderlyData
        - Src:             'tpm/src/command/Startup/Shutdown.c:87,5'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Startup/Shutdown.c:92,9'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Startup/Shutdown.c:93,9'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Startup/Shutdown.c:105,5'
          Dst:             NvWrite
    - functionName:    TPM2_Startup
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Startup/Startup.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         90
      ICount:          533
      EdgeCount:       117
      CyclomaticComplexity: 29
      functionsReached:
        - ActStartup
        - CommandAuditStartup
        - CryptStartup
        - DAStartup
        - HierarchyStartup
        - NvEntityStartup
        - NvRead
        - NvWrite
        - ObjectStartup
        - PCRStartup
        - SessionStartup
        - TPMRegisterStartup
        - TimeStartup
        - TpmFail
        - _plat__GetUnique
        - _plat__LocalityGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Startup/Startup.c:61,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:61,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Startup/Startup.c:72,8'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:72,22'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:72,25'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
            - BranchSide:      'tpm/src/command/Startup/Startup.c:79,8'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:72,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:73,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Startup/Startup.c:79,8'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:79,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:80,18'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
            - BranchSide:      'tpm/src/command/Startup/Startup.c:81,27'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:88,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:89,25'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
            - BranchSide:      'tpm/src/command/Startup/Startup.c:92,29'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:96,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:97,28'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
            - BranchSide:      'tpm/src/command/Startup/Startup.c:99,8'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:99,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:102,12'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
            - BranchSide:      'tpm/src/command/Startup/Startup.c:118,23'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:102,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:103,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Startup/Startup.c:109,12'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:109,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:110,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Startup/Startup.c:112,12'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:112,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:113,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Startup/Startup.c:114,12'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:114,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:115,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Startup/Startup.c:116,5'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
        - Branch String:   'tpm/src/command/Startup/Startup.c:121,42'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:121,46'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
                - NvRead
            - BranchSide:      'tpm/src/command/Startup/Startup.c:140,17'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:121,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:125,9'
              BranchSideFuncs:
                - NvRead
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
                - NvRead
            - BranchSide:      'tpm/src/command/Startup/Startup.c:140,17'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:126,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:131,13'
              BranchSideFuncs:
                - NvRead
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:135,21'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
                - CryptStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:143,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:143,29'
              BranchSideFuncs:
                - CryptStartup
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:143,13'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
                - TPMRegisterStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:147,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:147,16'
              BranchSideFuncs:
                - TPMRegisterStartup
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:147,13'
              BranchSideFuncs:
                - _plat__GetUnique
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
                - TimeStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:158,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:158,28'
              BranchSideFuncs:
                - TimeStartup
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:158,13'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
                - DAStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:161,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:161,26'
              BranchSideFuncs:
                - DAStartup
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:161,13'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
                - HierarchyStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:164,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:164,33'
              BranchSideFuncs:
                - HierarchyStartup
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:164,13'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
                - PCRStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:167,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:167,27'
              BranchSideFuncs:
                - PCRStartup
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:167,13'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
                - CommandAuditStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:170,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:170,36'
              BranchSideFuncs:
                - CommandAuditStartup
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:170,13'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
                - ActStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:173,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:173,27'
              BranchSideFuncs:
                - ActStartup
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
            - BranchSide:      'tpm/src/command/Startup/Startup.c:173,13'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - NvWrite
                - NvWrite
                - TpmFail
        - Branch String:   'tpm/src/command/Startup/Startup.c:176,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:178,16'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - TpmFail
            - BranchSide:      'tpm/src/command/Startup/Startup.c:224,10'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:178,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:182,32'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:186,30'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:189,13'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - TpmFail
            - BranchSide:      'tpm/src/command/Startup/Startup.c:192,36'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
                - TpmFail
        - Branch String:   'tpm/src/command/Startup/Startup.c:211,20'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:212,21'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/command/Startup/Startup.c:215,17'
              BranchSideFuncs:
                - NvWrite
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
                - SessionStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:224,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:224,31'
              BranchSideFuncs:
                - SessionStartup
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:224,13'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
                - ObjectStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:227,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:227,16'
              BranchSideFuncs:
                - ObjectStartup
                - NvWrite
                - NvEntityStartup
            - BranchSide:      'tpm/src/command/Startup/Startup.c:227,13'
              BranchSideFuncs:
                - NvWrite
                - NvEntityStartup
        - Branch String:   'tpm/src/command/Startup/Startup.c:231,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:231,32'
              BranchSideFuncs:
                - NvEntityStartup
                - NvWrite
            - BranchSide:      'tpm/src/command/Startup/Startup.c:231,13'
              BranchSideFuncs:
                - NvWrite
        - Branch String:   'tpm/src/command/Startup/Startup.c:236,26'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:236,29'
              BranchSideFuncs:
                - NvWrite
            - BranchSide:      'tpm/src/command/Startup/Startup.c:236,26'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Startup/Startup.c:240,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Startup/Startup.c:241,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Startup/Startup.c:243,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Startup/Startup.c:57,29'
          Dst:             _plat__LocalityGet
        - Src:             'tpm/src/command/Startup/Startup.c:125,9'
          Dst:             NvRead
        - Src:             'tpm/src/command/Startup/Startup.c:131,13'
          Dst:             NvRead
        - Src:             'tpm/src/command/Startup/Startup.c:143,16'
          Dst:             CryptStartup
        - Src:             'tpm/src/command/Startup/Startup.c:147,16'
          Dst:             TPMRegisterStartup
        - Src:             'tpm/src/command/Startup/Startup.c:152,17'
          Dst:             _plat__GetUnique
        - Src:             'tpm/src/command/Startup/Startup.c:158,16'
          Dst:             TimeStartup
        - Src:             'tpm/src/command/Startup/Startup.c:161,16'
          Dst:             DAStartup
        - Src:             'tpm/src/command/Startup/Startup.c:164,16'
          Dst:             HierarchyStartup
        - Src:             'tpm/src/command/Startup/Startup.c:167,16'
          Dst:             PCRStartup
        - Src:             'tpm/src/command/Startup/Startup.c:170,16'
          Dst:             CommandAuditStartup
        - Src:             'tpm/src/command/Startup/Startup.c:173,16'
          Dst:             ActStartup
        - Src:             'tpm/src/command/Startup/Startup.c:201,17'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Startup/Startup.c:212,21'
          Dst:             TpmFail
        - Src:             'tpm/src/command/Startup/Startup.c:215,17'
          Dst:             NvWrite
        - Src:             'tpm/src/command/Startup/Startup.c:224,16'
          Dst:             SessionStartup
        - Src:             'tpm/src/command/Startup/Startup.c:227,16'
          Dst:             ObjectStartup
        - Src:             'tpm/src/command/Startup/Startup.c:231,16'
          Dst:             NvEntityStartup
        - Src:             'tpm/src/command/Startup/Startup.c:236,29'
          Dst:             NvWrite
    - functionName:    TPM2_EncryptDecrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Symmetric/EncryptDecrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - EncryptDecryptShared
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/Symmetric/EncryptDecrypt.c:60,12'
          Dst:             EncryptDecryptShared
    - functionName:    TPM2_EncryptDecrypt2
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Symmetric/EncryptDecrypt2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         8
      ICount:          59
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - EncryptDecryptShared
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt2.c:68,5'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt2.c:71,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt2.c:74,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt2.c:77,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt2.c:80,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Symmetric/EncryptDecrypt2.c:61,14'
          Dst:             EncryptDecryptShared
    - functionName:    EncryptDecryptShared
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Symmetric/EncryptDecrypt_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - char
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - keyHandleIn
        - decryptIn
        - modeIn
        - ivIn
        - inData
        - out
      BBCount:         53
      ICount:          389
      EdgeCount:       72
      CyclomaticComplexity: 21
      functionsReached:
        - CryptGetSymmetricBlockSize
        - CryptSymModeIsValid
        - CryptSymmetricDecrypt
        - CryptSymmetricEncrypt
        - HandleToObject
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:73,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:74,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:76,11'
              BranchSideFuncs:
                - CryptSymModeIsValid
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:78,14'
              BranchSideFuncs:
                - CryptSymModeIsValid
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:82,14'
              BranchSideFuncs:
                - CryptSymModeIsValid
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:79,14'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:79,17'
              BranchSideFuncs:
                - CryptSymModeIsValid
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:84,9'
              BranchSideFuncs:
                - CryptSymModeIsValid
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:83,14'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:83,17'
              BranchSideFuncs:
                - CryptSymModeIsValid
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:84,9'
              BranchSideFuncs:
                - CryptSymModeIsValid
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:84,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:85,9'
              BranchSideFuncs:
                - CryptSymModeIsValid
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:88,29'
              BranchSideFuncs:
                - CryptSymModeIsValid
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:88,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:89,9'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:93,8'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:93,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:96,13'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:102,12'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:96,37'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:96,41'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:98,5'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:96,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:97,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:98,5'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:102,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:103,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:104,16'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:113,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:114,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:116,10'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:116,31'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:116,35'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:117,13'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:117,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:117,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:118,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:117,34'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:117,38'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:122,10'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:116,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:118,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:122,10'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:122,31'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:122,35'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:123,13'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:123,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:123,13'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:129,5'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:122,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:124,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:129,5'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
                - CryptSymmetricDecrypt
        - Branch String:   'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:136,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:139,40'
              BranchSideFuncs:
                - CryptSymmetricDecrypt
            - BranchSide:      'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:151,40'
              BranchSideFuncs:
                - CryptSymmetricEncrypt
      Callsites:
        - Src:             'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:69,14'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:88,9'
          Dst:             CryptSymModeIsValid
        - Src:             'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:110,17'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:139,18'
          Dst:             CryptSymmetricDecrypt
        - Src:             'tpm/src/command/Symmetric/EncryptDecrypt_spt.c:151,18'
          Dst:             CryptSymmetricEncrypt
    - functionName:    TPM2_Hash
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Symmetric/Hash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         12
      ICount:          111
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
        - TicketComputeHashCheck
        - TicketIsSafe
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Symmetric/Hash.c:64,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/Hash.c:67,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/Hash.c:71,9'
              BranchSideFuncs:
                - TicketComputeHashCheck
                - TicketIsSafe
        - Branch String:   'tpm/src/command/Symmetric/Hash.c:71,56'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/Hash.c:71,74'
              BranchSideFuncs:
                - TicketIsSafe
                - TicketComputeHashCheck
            - BranchSide:      'tpm/src/command/Symmetric/Hash.c:81,13'
              BranchSideFuncs:
                - TicketComputeHashCheck
        - Branch String:   'tpm/src/command/Symmetric/Hash.c:71,9'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/Hash.c:74,9'
              BranchSideFuncs:
                - TicketComputeHashCheck
            - BranchSide:      'tpm/src/command/Symmetric/Hash.c:81,13'
              BranchSideFuncs:
                - TicketComputeHashCheck
      Callsites:
        - Src:             'tpm/src/command/Symmetric/Hash.c:54,27'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/Symmetric/Hash.c:56,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/Symmetric/Hash.c:58,5'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/Symmetric/Hash.c:71,60'
          Dst:             TicketIsSafe
        - Src:             'tpm/src/command/Symmetric/Hash.c:80,9'
          Dst:             TicketComputeHashCheck
    - functionName:    TPM2_MAC
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Symmetric/MAC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         16
      ICount:          136
      EdgeCount:       22
      CyclomaticComplexity: 8
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHmacEnd2B
        - CryptMacStart
        - CryptSelectMac
        - HandleToObject
        - RcSafeAddToResult
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Symmetric/MAC.c:67,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:68,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:71,8'
              BranchSideFuncs:
                - CryptMacStart
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
                - RcSafeAddToResult
        - Branch String:   'tpm/src/command/Symmetric/MAC.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:72,34'
              BranchSideFuncs:
                - RcSafeAddToResult
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:74,8'
              BranchSideFuncs:
                - CryptMacStart
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
        - Branch String:   'tpm/src/command/Symmetric/MAC.c:74,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:75,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:77,9'
              BranchSideFuncs:
                - CryptMacStart
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
        - Branch String:   'tpm/src/command/Symmetric/MAC.c:77,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:78,9'
              BranchSideFuncs:
                - CryptMacStart
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:81,41'
              BranchSideFuncs:
                - CryptMacStart
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
        - Branch String:   'tpm/src/command/Symmetric/MAC.c:85,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:86,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:87,32'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
        - Branch String:   'tpm/src/command/Symmetric/MAC.c:89,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:90,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Symmetric/MAC.c:91,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Symmetric/MAC.c:61,18'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Symmetric/MAC.c:66,14'
          Dst:             CryptSelectMac
        - Src:             'tpm/src/command/Symmetric/MAC.c:72,16'
          Dst:             RcSafeAddToResult
        - Src:             'tpm/src/command/Symmetric/MAC.c:80,26'
          Dst:             CryptMacStart
        - Src:             'tpm/src/command/Symmetric/MAC.c:87,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/Symmetric/MAC.c:89,8'
          Dst:             CryptHmacEnd2B
    - functionName:    TPM2_GetTestResult
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Testing/GetTestResult.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - out
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptGetTestResult
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/Testing/GetTestResult.c:55,23'
          Dst:             CryptGetTestResult
    - functionName:    TPM2_IncrementalSelfTest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Testing/IncrementalSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptIncrementalSelfTest
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/command/Testing/IncrementalSelfTest.c:59,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Testing/IncrementalSelfTest.c:60,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Testing/IncrementalSelfTest.c:61,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Testing/IncrementalSelfTest.c:58,14'
          Dst:             CryptIncrementalSelfTest
    - functionName:    TPM2_SelfTest
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Testing/SelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptSelfTest
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/command/Testing/SelfTest.c:54,12'
          Dst:             CryptSelfTest
    - functionName:    TPM2_Vendor_TCG_Test
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Vendor/Vendor_TCG_Test.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - in
        - out
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LoadEccPoint
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 572
      functionLinenumberEnd: 575
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - point
        - x
        - y
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy2B
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:573,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/AlgorithmTests.c:574,5'
          Dst:             MemoryCopy2B
    - functionName:    LoadEccParameter
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 564
      functionLinenumberEnd: 566
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - to
        - from
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy2B
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:565,5'
          Dst:             MemoryCopy2B
    - functionName:    TestEccSignAndVerify
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 602
      functionLinenumberEnd: 672
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - scheme
        - toTest
      BBCount:         39
      ICount:          190
      EdgeCount:       46
      CyclomaticComplexity: 9
      functionsReached:
        - ClearBit
        - CryptEccSign
        - CryptEccValidateSignature
        - LoadEccParameter
        - LoadEccPoint
        - MemoryCopy2B
        - TestBit
        - TestHash
        - TpmFail
        - _plat__IsCanceled
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:613,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:613,5'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
                - LoadEccParameter
                - LoadEccParameter
                - TestBit
                - MemoryCopy2B
                - LoadEccPoint
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
                - TpmFail
                - TestHash
                - LoadEccParameter
                - LoadEccParameter
                - TpmFail
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:614,5'
              BranchSideFuncs:
                - ClearBit
                - LoadEccParameter
                - LoadEccParameter
                - TestBit
                - MemoryCopy2B
                - LoadEccPoint
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
                - TpmFail
                - TestHash
                - LoadEccParameter
                - LoadEccParameter
                - TpmFail
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:614,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:614,5'
              BranchSideFuncs:
                - ClearBit
                - LoadEccParameter
                - LoadEccParameter
                - TestBit
                - MemoryCopy2B
                - LoadEccPoint
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
                - TpmFail
                - TestHash
                - LoadEccParameter
                - LoadEccParameter
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:617,12'
              BranchSideFuncs:
                - LoadEccParameter
                - LoadEccParameter
                - TestBit
                - MemoryCopy2B
                - LoadEccPoint
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
                - TpmFail
                - TestHash
                - LoadEccParameter
                - LoadEccParameter
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:617,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:620,13'
              BranchSideFuncs:
                - LoadEccParameter
                - LoadEccParameter
                - TestBit
                - MemoryCopy2B
                - LoadEccPoint
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
                - TpmFail
                - TestHash
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:624,13'
              BranchSideFuncs:
                - LoadEccParameter
                - LoadEccParameter
                - TestBit
                - MemoryCopy2B
                - LoadEccPoint
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
                - TpmFail
                - TestHash
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:631,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:633,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:636,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:636,5'
              BranchSideFuncs:
                - TestHash
                - MemoryCopy2B
                - LoadEccPoint
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:641,5'
              BranchSideFuncs:
                - MemoryCopy2B
                - LoadEccPoint
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:648,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:652,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:654,5'
              BranchSideFuncs:
                - _plat__IsCanceled
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:654,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:654,5'
              BranchSideFuncs:
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:658,11'
              BranchSideFuncs:
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:654,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:654,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:658,11'
              BranchSideFuncs:
                - CryptEccSign
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:657,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:660,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:662,5'
              BranchSideFuncs:
                - _plat__IsCanceled
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:662,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:662,5'
              BranchSideFuncs:
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:665,11'
              BranchSideFuncs:
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:662,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:662,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:665,11'
              BranchSideFuncs:
                - CryptEccValidateSignature
                - _plat__IsCanceled
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:664,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:667,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:669,5'
              BranchSideFuncs:
                - _plat__IsCanceled
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:669,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:669,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:671,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:669,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:669,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:671,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:613,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:613,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:614,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:614,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:620,13'
          Dst:             LoadEccParameter
        - Src:             'tpm/src/crypt/AlgorithmTests.c:621,13'
          Dst:             LoadEccParameter
        - Src:             'tpm/src/crypt/AlgorithmTests.c:624,13'
          Dst:             LoadEccParameter
        - Src:             'tpm/src/crypt/AlgorithmTests.c:626,13'
          Dst:             LoadEccParameter
        - Src:             'tpm/src/crypt/AlgorithmTests.c:633,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:636,5'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:636,5'
          Dst:             TestHash
        - Src:             'tpm/src/crypt/AlgorithmTests.c:641,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/AlgorithmTests.c:644,5'
          Dst:             LoadEccPoint
        - Src:             'tpm/src/crypt/AlgorithmTests.c:649,11'
          Dst:             CryptEccValidateSignature
        - Src:             'tpm/src/crypt/AlgorithmTests.c:652,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:654,5'
          Dst:             _plat__IsCanceled
        - Src:             'tpm/src/crypt/AlgorithmTests.c:658,11'
          Dst:             CryptEccSign
        - Src:             'tpm/src/crypt/AlgorithmTests.c:660,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:662,5'
          Dst:             _plat__IsCanceled
        - Src:             'tpm/src/crypt/AlgorithmTests.c:665,11'
          Dst:             CryptEccValidateSignature
        - Src:             'tpm/src/crypt/AlgorithmTests.c:667,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:669,5'
          Dst:             _plat__IsCanceled
    - functionName:    TestHash
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - hashAlg
        - toTest
      BBCount:         26
      ICount:          151
      EdgeCount:       28
      CyclomaticComplexity: 4
      functionsReached:
        - ClearBit
        - CryptDigestUpdate
        - CryptHashGetBlockSize
        - CryptHashGetDigestSize
        - CryptHmacEnd
        - CryptHmacStart
        - TpmFail
        - memcmp
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:100,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:100,5'
              BranchSideFuncs:
                - ClearBit
                - CryptHashGetDigestSize
                - CryptHmacStart
                - CryptHashGetBlockSize
                - CryptDigestUpdate
                - CryptHmacEnd
                - memcmp
                - TpmFail
                - ClearBit
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:105,12'
              BranchSideFuncs:
                - ClearBit
                - CryptHashGetDigestSize
                - CryptHmacStart
                - CryptHashGetBlockSize
                - CryptDigestUpdate
                - CryptHmacEnd
                - memcmp
                - TpmFail
                - ClearBit
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:105,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:107,9'
              BranchSideFuncs:
                - ClearBit
                - CryptHashGetDigestSize
                - CryptHmacStart
                - CryptHashGetBlockSize
                - CryptDigestUpdate
                - CryptHmacEnd
                - memcmp
                - TpmFail
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:107,9'
              BranchSideFuncs:
                - ClearBit
                - CryptHashGetDigestSize
                - CryptHmacStart
                - CryptHashGetBlockSize
                - CryptDigestUpdate
                - CryptHmacEnd
                - memcmp
                - TpmFail
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:107,9'
              BranchSideFuncs:
                - ClearBit
                - CryptHashGetDigestSize
                - CryptHmacStart
                - CryptHashGetBlockSize
                - CryptDigestUpdate
                - CryptHmacEnd
                - memcmp
                - TpmFail
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:110,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:113,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:113,5'
              BranchSideFuncs:
                - ClearBit
                - CryptHashGetDigestSize
                - CryptHmacStart
                - CryptHashGetBlockSize
                - CryptDigestUpdate
                - CryptHmacEnd
                - memcmp
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:116,8'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptHmacStart
                - CryptHashGetBlockSize
                - CryptDigestUpdate
                - CryptHmacEnd
                - memcmp
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:116,27'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:116,30'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:117,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:116,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:117,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:120,41'
              BranchSideFuncs:
                - CryptHashGetDigestSize
                - CryptHmacStart
                - CryptHashGetBlockSize
                - CryptDigestUpdate
                - CryptHmacEnd
                - memcmp
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:128,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:128,19'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:129,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:127,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:129,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:130,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:100,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:110,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:113,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:113,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:120,18'
          Dst:             CryptHashGetDigestSize
        - Src:             'tpm/src/crypt/AlgorithmTests.c:121,5'
          Dst:             CryptHmacStart
        - Src:             'tpm/src/crypt/AlgorithmTests.c:123,27'
          Dst:             CryptHashGetBlockSize
        - Src:             'tpm/src/crypt/AlgorithmTests.c:122,5'
          Dst:             CryptDigestUpdate
        - Src:             'tpm/src/crypt/AlgorithmTests.c:126,5'
          Dst:             CryptHmacEnd
        - Src:             'tpm/src/crypt/AlgorithmTests.c:128,12'
          Dst:             memcmp
        - Src:             'tpm/src/crypt/AlgorithmTests.c:129,9'
          Dst:             TpmFail
    - functionName:    TestECDH
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 582
      functionLinenumberEnd: 597
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - scheme
        - toTest
      BBCount:         13
      ICount:          69
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - ClearBit
        - CryptEccPointMultiply
        - LoadEccParameter
        - LoadEccPoint
        - MemoryEqual2B
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:589,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:589,5'
              BranchSideFuncs:
                - ClearBit
                - LoadEccParameter
                - LoadEccPoint
                - CryptEccPointMultiply
                - MemoryEqual2B
                - TpmFail
                - MemoryEqual2B
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:590,5'
              BranchSideFuncs:
                - LoadEccParameter
                - LoadEccPoint
                - CryptEccPointMultiply
                - MemoryEqual2B
                - TpmFail
                - MemoryEqual2B
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:592,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:593,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:594,9'
              BranchSideFuncs:
                - MemoryEqual2B
                - TpmFail
                - MemoryEqual2B
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:595,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:595,12'
              BranchSideFuncs:
                - MemoryEqual2B
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:596,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:594,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:596,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:597,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:589,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:589,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:590,5'
          Dst:             LoadEccParameter
        - Src:             'tpm/src/crypt/AlgorithmTests.c:591,5'
          Dst:             LoadEccPoint
        - Src:             'tpm/src/crypt/AlgorithmTests.c:592,26'
          Dst:             CryptEccPointMultiply
        - Src:             'tpm/src/crypt/AlgorithmTests.c:593,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:594,9'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/crypt/AlgorithmTests.c:595,12'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/crypt/AlgorithmTests.c:596,9'
          Dst:             TpmFail
    - functionName:    RsaKeyInitialize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - testObject
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy2B
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:327,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/AlgorithmTests.c:330,5'
          Dst:             MemoryCopy2B
    - functionName:    TestRsaSignAndVerify
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 510
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - scheme
        - toTest
      BBCount:         29
      ICount:          146
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - ClearBit
        - CryptRsaSign
        - CryptRsaValidateSignature
        - MemoryCopy2B
        - MemoryEqual
        - RsaKeyInitialize
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:459,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:459,5'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
                - ClearBit
                - RsaKeyInitialize
                - CryptRsaSign
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
                - MemoryEqual
                - TpmFail
                - TpmFail
                - ClearBit
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:460,5'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
                - RsaKeyInitialize
                - CryptRsaSign
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
                - MemoryEqual
                - TpmFail
                - TpmFail
                - ClearBit
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:460,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:460,5'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
                - RsaKeyInitialize
                - CryptRsaSign
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
                - MemoryEqual
                - TpmFail
                - TpmFail
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:461,5'
              BranchSideFuncs:
                - ClearBit
                - RsaKeyInitialize
                - CryptRsaSign
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
                - MemoryEqual
                - TpmFail
                - TpmFail
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:461,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:461,5'
              BranchSideFuncs:
                - ClearBit
                - RsaKeyInitialize
                - CryptRsaSign
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
                - MemoryEqual
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:463,5'
              BranchSideFuncs:
                - RsaKeyInitialize
                - CryptRsaSign
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
                - MemoryEqual
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:484,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:485,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:487,16'
              BranchSideFuncs:
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
                - MemoryEqual
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:487,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:489,43'
              BranchSideFuncs:
                - MemoryEqual
                - TpmFail
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:497,11'
              BranchSideFuncs:
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:490,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:490,16'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:493,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:489,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:493,13'
              BranchSideFuncs:
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:494,5'
              BranchSideFuncs:
                - CryptRsaValidateSignature
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:496,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:498,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:501,26'
              BranchSideFuncs:
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:501,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:501,8'
              BranchSideFuncs:
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:503,9'
              BranchSideFuncs:
                - MemoryCopy2B
                - CryptRsaValidateSignature
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:506,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:508,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:509,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:459,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:459,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:460,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:460,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:461,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:461,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:463,5'
          Dst:             RsaKeyInitialize
        - Src:             'tpm/src/crypt/AlgorithmTests.c:484,26'
          Dst:             CryptRsaSign
        - Src:             'tpm/src/crypt/AlgorithmTests.c:485,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:490,16'
          Dst:             MemoryEqual
        - Src:             'tpm/src/crypt/AlgorithmTests.c:493,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:497,11'
          Dst:             CryptRsaValidateSignature
        - Src:             'tpm/src/crypt/AlgorithmTests.c:498,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:503,9'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/AlgorithmTests.c:507,15'
          Dst:             CryptRsaValidateSignature
        - Src:             'tpm/src/crypt/AlgorithmTests.c:508,13'
          Dst:             TpmFail
    - functionName:    TestRsaEncryptDecrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 435
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - scheme
        - toTest
      BBCount:         45
      ICount:          233
      EdgeCount:       52
      CyclomaticComplexity: 9
      functionsReached:
        - ClearBit
        - CryptRsaDecrypt
        - CryptRsaEncrypt
        - MemoryCopy2B
        - MemoryEqual
        - RsaKeyInitialize
        - TestBit
        - TestHash
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:356,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:356,5'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
                - TpmFail
                - CryptRsaEncrypt
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - TpmFail
                - TestBit
                - TestHash
                - CryptRsaEncrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:357,5'
              BranchSideFuncs:
                - ClearBit
                - TpmFail
                - CryptRsaEncrypt
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - TpmFail
                - TestBit
                - TestHash
                - CryptRsaEncrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:357,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:357,5'
              BranchSideFuncs:
                - ClearBit
                - TpmFail
                - CryptRsaEncrypt
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - TpmFail
                - TestBit
                - TestHash
                - CryptRsaEncrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:358,8'
              BranchSideFuncs:
                - TpmFail
                - CryptRsaEncrypt
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - TpmFail
                - TestBit
                - TestHash
                - CryptRsaEncrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:358,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:361,9'
              BranchSideFuncs:
                - CryptRsaEncrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:391,12'
              BranchSideFuncs:
                - TpmFail
                - CryptRsaEncrypt
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - TpmFail
                - TestBit
                - TestHash
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:363,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:366,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:367,13'
              BranchSideFuncs:
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:367,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:368,13'
              BranchSideFuncs:
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:369,9'
              BranchSideFuncs:
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:370,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:373,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:374,13'
              BranchSideFuncs:
                - MemoryEqual
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:374,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:375,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:376,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:391,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:393,13'
              BranchSideFuncs:
                - TestBit
                - CryptRsaEncrypt
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - TpmFail
                - TestHash
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:397,17'
              BranchSideFuncs:
                - TpmFail
                - CryptRsaEncrypt
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:393,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:393,13'
              BranchSideFuncs:
                - TestHash
                - CryptRsaEncrypt
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:394,23'
              BranchSideFuncs:
                - CryptRsaEncrypt
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:397,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:399,23'
              BranchSideFuncs:
                - CryptRsaEncrypt
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:403,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:409,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:412,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:413,9'
              BranchSideFuncs:
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:415,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:418,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:420,25'
              BranchSideFuncs:
                - MemoryEqual
                - TpmFail
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:421,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:421,16'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:423,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:420,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:423,13'
              BranchSideFuncs:
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:425,41'
              BranchSideFuncs:
                - MemoryCopy2B
                - CryptRsaDecrypt
                - MemoryEqual
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:426,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:429,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:430,25'
              BranchSideFuncs:
                - MemoryEqual
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:431,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:431,16'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:433,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:430,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:433,13'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:353,5'
          Dst:             RsaKeyInitialize
        - Src:             'tpm/src/crypt/AlgorithmTests.c:356,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:356,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:357,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:357,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:364,15'
          Dst:             CryptRsaEncrypt
        - Src:             'tpm/src/crypt/AlgorithmTests.c:366,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:367,13'
          Dst:             MemoryEqual
        - Src:             'tpm/src/crypt/AlgorithmTests.c:368,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:369,9'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/AlgorithmTests.c:371,15'
          Dst:             CryptRsaDecrypt
        - Src:             'tpm/src/crypt/AlgorithmTests.c:373,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:374,13'
          Dst:             MemoryEqual
        - Src:             'tpm/src/crypt/AlgorithmTests.c:375,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:393,13'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:393,13'
          Dst:             TestHash
        - Src:             'tpm/src/crypt/AlgorithmTests.c:403,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:410,15'
          Dst:             CryptRsaEncrypt
        - Src:             'tpm/src/crypt/AlgorithmTests.c:412,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:413,9'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/AlgorithmTests.c:416,15'
          Dst:             CryptRsaDecrypt
        - Src:             'tpm/src/crypt/AlgorithmTests.c:418,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:421,16'
          Dst:             MemoryEqual
        - Src:             'tpm/src/crypt/AlgorithmTests.c:423,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:425,9'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/AlgorithmTests.c:427,15'
          Dst:             CryptRsaDecrypt
        - Src:             'tpm/src/crypt/AlgorithmTests.c:429,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:431,16'
          Dst:             MemoryEqual
        - Src:             'tpm/src/crypt/AlgorithmTests.c:433,13'
          Dst:             TpmFail
    - functionName:    MakeIv
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - mode
        - size
        - iv
      BBCount:         15
      ICount:          92
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:144,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:145,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:146,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:146,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:149,15'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:154,15'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:149,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:150,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:151,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:154,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:155,21'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    AllModesAreDone
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - toTest
      BBCount:         18
      ICount:          83
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - TestBit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:222,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:223,12'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:225,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:223,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:223,12'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:223,12'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:223,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:223,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:224,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:223,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:222,56'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:224,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:223,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:223,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:224,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:223,12'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:223,12'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:223,12'
          Dst:             TestBit
    - functionName:    AllSymsAreDone
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - toTest
      BBCount:         19
      ICount:          86
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - TestBit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:210,37'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,14'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,14'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:210,14'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,14'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:210,14'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,41'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:210,37'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,37'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,41'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:210,41'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,41'
              BranchSideFuncs:
                - TestBit
                - TestBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,40'
              BranchSideFuncs:
                - TestBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:210,41'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,40'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:210,40'
              BranchSideFuncs:
                - TestBit
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:210,14'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:210,14'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:210,14'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:210,41'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:210,41'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:210,41'
          Dst:             TestBit
    - functionName:    TestSymmetricAlgorithm
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - test
        - mode
      BBCount:         7
      ICount:          106
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - CryptSymmetricDecrypt
        - CryptSymmetricEncrypt
        - MakeIv
        - MemoryEqual
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:183,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:185,9'
              BranchSideFuncs:
                - MakeIv
                - CryptSymmetricDecrypt
                - MemoryEqual
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:187,12'
              BranchSideFuncs:
                - MakeIv
                - CryptSymmetricDecrypt
                - MemoryEqual
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:197,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:198,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:199,1'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:171,25'
          Dst:             MakeIv
        - Src:             'tpm/src/crypt/AlgorithmTests.c:174,5'
          Dst:             CryptSymmetricEncrypt
        - Src:             'tpm/src/crypt/AlgorithmTests.c:183,9'
          Dst:             MemoryEqual
        - Src:             'tpm/src/crypt/AlgorithmTests.c:185,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/AlgorithmTests.c:187,5'
          Dst:             MakeIv
        - Src:             'tpm/src/crypt/AlgorithmTests.c:188,5'
          Dst:             CryptSymmetricDecrypt
        - Src:             'tpm/src/crypt/AlgorithmTests.c:197,9'
          Dst:             MemoryEqual
        - Src:             'tpm/src/crypt/AlgorithmTests.c:198,9'
          Dst:             TpmFail
    - functionName:    TestEcc
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 700
      functionLinenumberEnd: 728
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - alg
        - toTest
      BBCount:         22
      ICount:          102
      EdgeCount:       24
      CyclomaticComplexity: 4
      functionsReached:
        - TestBit
        - TestECDH
        - TestEccSignAndVerify
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:703,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:710,17'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
                - TestECDH
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:710,17'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
                - TestECDH
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:722,43'
              BranchSideFuncs:
                - TestEccSignAndVerify
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:722,43'
              BranchSideFuncs:
                - TestEccSignAndVerify
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:722,43'
              BranchSideFuncs:
                - TestEccSignAndVerify
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:725,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:712,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:712,21'
              BranchSideFuncs:
                - TestECDH
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:716,35'
              BranchSideFuncs:
                - TestECDH
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:713,21'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:713,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:718,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:714,21'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:714,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:718,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:710,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:716,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:718,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:712,21'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:713,24'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:714,24'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:716,26'
          Dst:             TestECDH
        - Src:             'tpm/src/crypt/AlgorithmTests.c:722,22'
          Dst:             TestEccSignAndVerify
        - Src:             'tpm/src/crypt/AlgorithmTests.c:725,13'
          Dst:             TpmFail
    - functionName:    TestKDFa
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 676
      functionLinenumberEnd: 695
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - toTest
      BBCount:         11
      ICount:          55
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - ClearBit
        - CryptKDFa
        - MemoryEqual
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:680,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:680,5'
              BranchSideFuncs:
                - ClearBit
                - CryptKDFa
                - MemoryEqual
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:682,21'
              BranchSideFuncs:
                - CryptKDFa
                - MemoryEqual
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:692,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:692,12'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:693,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:691,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:693,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:695,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:680,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:680,5'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:682,21'
          Dst:             CryptKDFa
        - Src:             'tpm/src/crypt/AlgorithmTests.c:692,12'
          Dst:             MemoryEqual
        - Src:             'tpm/src/crypt/AlgorithmTests.c:693,9'
          Dst:             TpmFail
    - functionName:    TestRsa
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 517
      functionLinenumberEnd: 550
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - alg
        - toTest
      BBCount:         24
      ICount:          110
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - TestBit
        - TestRsaEncryptDecrypt
        - TestRsaSignAndVerify
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:520,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:528,17'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - TestBit
                - TestBit
                - TestRsaEncryptDecrypt
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:541,44'
              BranchSideFuncs:
                - TestRsaEncryptDecrypt
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:541,44'
              BranchSideFuncs:
                - TestRsaEncryptDecrypt
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:545,43'
              BranchSideFuncs:
                - TestRsaSignAndVerify
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:545,43'
              BranchSideFuncs:
                - TestRsaSignAndVerify
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:548,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:529,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:529,21'
              BranchSideFuncs:
                - TestRsaEncryptDecrypt
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:535,48'
              BranchSideFuncs:
                - TestRsaEncryptDecrypt
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:530,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:530,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:538,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:531,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:531,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:538,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:532,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:532,24'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:538,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:528,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:535,48'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:538,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:529,21'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:530,24'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:531,24'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:532,24'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:535,26'
          Dst:             TestRsaEncryptDecrypt
        - Src:             'tpm/src/crypt/AlgorithmTests.c:541,22'
          Dst:             TestRsaEncryptDecrypt
        - Src:             'tpm/src/crypt/AlgorithmTests.c:545,22'
          Dst:             TestRsaSignAndVerify
        - Src:             'tpm/src/crypt/AlgorithmTests.c:548,13'
          Dst:             TpmFail
    - functionName:    TestSymmetric
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - alg
        - toTest
      BBCount:         86
      ICount:          389
      EdgeCount:       111
      CyclomaticComplexity: 27
      functionsReached:
        - AllModesAreDone
        - AllSymsAreDone
        - ClearBit
        - TestBit
        - TestSymmetricAlgorithm
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:236,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:237,9'
              BranchSideFuncs:
                - TpmFail
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
                - ClearBit
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:238,8'
              BranchSideFuncs:
                - TpmFail
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
                - ClearBit
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:238,27'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:238,30'
              BranchSideFuncs:
                - ClearBit
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:241,9'
              BranchSideFuncs:
                - ClearBit
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:238,49'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:238,52'
              BranchSideFuncs:
                - ClearBit
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:241,9'
              BranchSideFuncs:
                - ClearBit
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:238,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:241,9'
              BranchSideFuncs:
                - ClearBit
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:263,31'
              BranchSideFuncs:
                - TpmFail
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:241,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:241,9'
              BranchSideFuncs:
                - ClearBit
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:244,19'
              BranchSideFuncs:
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:244,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:246,32'
              BranchSideFuncs:
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:256,27'
              BranchSideFuncs:
                - AllSymsAreDone
                - ClearBit
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:246,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:248,26'
              BranchSideFuncs:
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:254,9'
              BranchSideFuncs:
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:248,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:250,24'
              BranchSideFuncs:
                - TestBit
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:253,13'
              BranchSideFuncs:
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:250,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:251,65'
              BranchSideFuncs:
                - TestSymmetricAlgorithm
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:252,17'
              BranchSideFuncs:
                - AllSymsAreDone
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:256,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:259,21'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:262,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:259,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:260,17'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:261,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:260,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:259,64'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:260,17'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:263,35'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:263,38'
              BranchSideFuncs:
                - TpmFail
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:295,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:263,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:266,19'
              BranchSideFuncs:
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:295,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:266,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:273,17'
              BranchSideFuncs:
                - TestBit
                - TestBit
                - ClearBit
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:288,28'
              BranchSideFuncs:
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:273,48'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:273,52'
              BranchSideFuncs:
                - ClearBit
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:279,27'
              BranchSideFuncs:
                - ClearBit
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:273,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:275,17'
              BranchSideFuncs:
                - ClearBit
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:279,27'
              BranchSideFuncs:
                - ClearBit
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:275,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:275,17'
              BranchSideFuncs:
                - ClearBit
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:276,13'
              BranchSideFuncs:
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:279,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:281,24'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestSymmetricAlgorithm
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:285,17'
              BranchSideFuncs:
                - ClearBit
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:281,24'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:282,65'
              BranchSideFuncs:
                - TestSymmetricAlgorithm
                - ClearBit
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:283,17'
              BranchSideFuncs:
                - ClearBit
                - AllModesAreDone
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestBit
                - ClearBit
                - ClearBit
                - ClearBit
                - TestBit
                - TestSymmetricAlgorithm
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:288,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:290,13'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
                - ClearBit
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:293,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:290,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:290,13'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:291,13'
              BranchSideFuncs:
                - ClearBit
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:291,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:291,13'
              BranchSideFuncs:
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:292,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:295,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:295,9'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:295,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:295,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:295,9'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:236,9'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:241,9'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:241,9'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:250,24'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:251,25'
          Dst:             TestSymmetricAlgorithm
        - Src:             'tpm/src/crypt/AlgorithmTests.c:256,12'
          Dst:             AllSymsAreDone
        - Src:             'tpm/src/crypt/AlgorithmTests.c:260,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:260,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:273,17'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:273,52'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:275,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:275,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:281,24'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:282,25'
          Dst:             TestSymmetricAlgorithm
        - Src:             'tpm/src/crypt/AlgorithmTests.c:285,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:285,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:288,12'
          Dst:             AllModesAreDone
        - Src:             'tpm/src/crypt/AlgorithmTests.c:290,13'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:290,13'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:291,13'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:291,13'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:295,9'
          Dst:             TpmFail
    - functionName:    TestAlgorithm
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 756
      functionLinenumberEnd: 909
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - alg
        - toTest
      BBCount:         97
      ICount:          453
      EdgeCount:       118
      CyclomaticComplexity: 23
      functionsReached:
        - ClearBit
        - SetBit
        - TestBit
        - TestEcc
        - TestHash
        - TestKDFa
        - TestRsa
        - TestSymmetric
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:757,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:757,25'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:757,66'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:758,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:758,25'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:758,65'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:762,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:763,16'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:774,15'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:774,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:774,5'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:780,13'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:780,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:782,13'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:789,16'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:789,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:809,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - ClearBit
                - TestSymmetric
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:809,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - ClearBit
                - TestSymmetric
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:824,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - TestSymmetric
                - ClearBit
                - ClearBit
                - TestSymmetric
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:824,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - TestSymmetric
                - ClearBit
                - ClearBit
                - TestSymmetric
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:824,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - TestSymmetric
                - ClearBit
                - ClearBit
                - TestSymmetric
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:824,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - TestSymmetric
                - ClearBit
                - ClearBit
                - TestSymmetric
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:839,17'
              BranchSideFuncs:
                - ClearBit
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
                - TestHash
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:853,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestHash
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:853,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestHash
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:853,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestHash
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:859,17'
              BranchSideFuncs:
                - ClearBit
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
                - TestRsa
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:870,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestRsa
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:870,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestRsa
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:870,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestRsa
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:870,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestRsa
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:870,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestRsa
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:876,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestKDFa
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:888,17'
              BranchSideFuncs:
                - ClearBit
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
                - TestEcc
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:898,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestEcc
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:898,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestEcc
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:898,20'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - TestEcc
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:903,17'
              BranchSideFuncs:
                - ClearBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:809,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:810,44'
              BranchSideFuncs:
                - TestSymmetric
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:811,17'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:824,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:825,44'
              BranchSideFuncs:
                - TestSymmetric
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:830,24'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:839,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:839,17'
              BranchSideFuncs:
                - ClearBit
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
                - TestHash
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:841,20'
              BranchSideFuncs:
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
                - TestHash
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:841,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:842,49'
              BranchSideFuncs:
                - TestHash
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:846,21'
              BranchSideFuncs:
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:853,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:854,39'
              BranchSideFuncs:
                - TestHash
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:855,17'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:859,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:859,17'
              BranchSideFuncs:
                - ClearBit
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
                - TestRsa
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:860,20'
              BranchSideFuncs:
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
                - TestRsa
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:860,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:861,52'
              BranchSideFuncs:
                - TestRsa
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:863,21'
              BranchSideFuncs:
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:870,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:871,38'
              BranchSideFuncs:
                - TestRsa
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:872,17'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:876,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:877,39'
              BranchSideFuncs:
                - TestKDFa
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:878,17'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:888,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:888,17'
              BranchSideFuncs:
                - ClearBit
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
                - TestEcc
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:889,20'
              BranchSideFuncs:
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
                - TestEcc
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:889,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:890,52'
              BranchSideFuncs:
                - TestEcc
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:892,21'
              BranchSideFuncs:
                - SetBit
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
                - SetBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:898,20'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:899,38'
              BranchSideFuncs:
                - TestEcc
                - TestBit
                - ClearBit
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:900,17'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
        - Branch String:   'tpm/src/crypt/AlgorithmTests.c:906,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:907,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/AlgorithmTests.c:908,5'
              BranchSideFuncs:
                - TestBit
                - ClearBit
                - TestEcc
                - ClearBit
                - SetBit
                - SetBit
                - TestEcc
                - ClearBit
                - TestKDFa
                - TestRsa
                - ClearBit
                - SetBit
                - SetBit
                - TestRsa
                - ClearBit
                - TestHash
                - ClearBit
                - SetBit
                - SetBit
                - TestHash
                - ClearBit
                - ClearBit
                - TestSymmetric
                - TestSymmetric
                - ClearBit
      Callsites:
        - Src:             'tpm/src/crypt/AlgorithmTests.c:780,13'
          Dst:             TestBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:782,13'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:810,30'
          Dst:             TestSymmetric
        - Src:             'tpm/src/crypt/AlgorithmTests.c:825,30'
          Dst:             TestSymmetric
        - Src:             'tpm/src/crypt/AlgorithmTests.c:831,25'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:839,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:839,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:842,21'
          Dst:             TestHash
        - Src:             'tpm/src/crypt/AlgorithmTests.c:846,21'
          Dst:             SetBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:846,21'
          Dst:             SetBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:854,30'
          Dst:             TestHash
        - Src:             'tpm/src/crypt/AlgorithmTests.c:859,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:859,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:861,30'
          Dst:             TestRsa
        - Src:             'tpm/src/crypt/AlgorithmTests.c:863,21'
          Dst:             SetBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:863,21'
          Dst:             SetBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:871,30'
          Dst:             TestRsa
        - Src:             'tpm/src/crypt/AlgorithmTests.c:877,30'
          Dst:             TestKDFa
        - Src:             'tpm/src/crypt/AlgorithmTests.c:888,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:888,17'
          Dst:             ClearBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:890,30'
          Dst:             TestEcc
        - Src:             'tpm/src/crypt/AlgorithmTests.c:892,21'
          Dst:             SetBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:892,21'
          Dst:             SetBit
        - Src:             'tpm/src/crypt/AlgorithmTests.c:899,30'
          Dst:             TestEcc
        - Src:             'tpm/src/crypt/AlgorithmTests.c:903,17'
          Dst:             ClearBit
    - functionName:    BnPointTo2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - p
        - ecP
        - E
      BBCount:         19
      ICount:          103
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - BnSizeInBits
        - BnTo2B
        - TpmFail
      functionUses:    11
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnConvert.c:269,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:269,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/BnConvert.c:269,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnConvert.c:269,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:269,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/BnConvert.c:269,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnConvert.c:269,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:269,5'
              BranchSideFuncs:
                - TpmFail
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/BnConvert.c:270,5'
              BranchSideFuncs:
                - TpmFail
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
        - Branch String:   'tpm/src/crypt/BnConvert.c:270,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:270,5'
              BranchSideFuncs:
                - TpmFail
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/BnConvert.c:270,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnConvert.c:270,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:270,5'
              BranchSideFuncs:
                - BnSizeInBits
                - BnTo2B
                - BnTo2B
            - BranchSide:      'tpm/src/crypt/BnConvert.c:270,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/BnConvert.c:269,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnConvert.c:270,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnConvert.c:272,20'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/BnConvert.c:273,5'
          Dst:             BnTo2B
        - Src:             'tpm/src/crypt/BnConvert.c:274,5'
          Dst:             BnTo2B
    - functionName:    BnTo2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - bn
        - a2B
        - size
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BnToBytes
      functionUses:    21
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnConvert.c:225,11'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:225,14'
              BranchSideFuncs:
                - BnToBytes
            - BranchSide:      'tpm/src/crypt/BnConvert.c:230,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnConvert.c:225,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:227,21'
              BranchSideFuncs:
                - BnToBytes
            - BranchSide:      'tpm/src/crypt/BnConvert.c:230,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/BnConvert.c:228,16'
          Dst:             BnToBytes
    - functionName:    BnToBytes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bn
        - buffer
        - size
      BBCount:         30
      ICount:          163
      EdgeCount:       36
      CyclomaticComplexity: 8
      functionsReached:
        - BnSizeInBits
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnConvert.c:171,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:171,5'
              BranchSideFuncs:
                - TpmFail
                - BnSizeInBits
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnConvert.c:171,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnConvert.c:171,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:171,5'
              BranchSideFuncs:
                - TpmFail
                - BnSizeInBits
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnConvert.c:171,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnConvert.c:171,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:171,5'
              BranchSideFuncs:
                - BnSizeInBits
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnConvert.c:173,34'
              BranchSideFuncs:
                - BnSizeInBits
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnConvert.c:174,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:177,10'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnConvert.c:191,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnConvert.c:191,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:192,31'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnConvert.c:193,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnConvert.c:193,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:193,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnConvert.c:195,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnConvert.c:203,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:204,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnConvert.c:207,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnConvert.c:207,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnConvert.c:208,28'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/BnConvert.c:171,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnConvert.c:173,21'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/BnConvert.c:193,9'
          Dst:             TpmFail
    - functionName:    BnPointFrom2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ecP
        - p
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BnFrom2B
        - BnSetWord
      functionUses:    10
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnConvert.c:244,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:245,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnConvert.c:247,16'
              BranchSideFuncs:
                - BnFrom2B
                - BnFrom2B
                - BnSetWord
        - Branch String:   'tpm/src/crypt/BnConvert.c:247,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:249,18'
              BranchSideFuncs:
                - BnFrom2B
                - BnFrom2B
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/BnConvert.c:253,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/BnConvert.c:249,9'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/BnConvert.c:250,9'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/BnConvert.c:251,9'
          Dst:             BnSetWord
    - functionName:    BnFrom2B
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bn
        - a2B
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnFromBytes
        - BnSetTop
      functionUses:    23
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnConvert.c:99,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:100,28'
              BranchSideFuncs:
                - BnFromBytes
            - BranchSide:      'tpm/src/crypt/BnConvert.c:103,14'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/BnConvert.c:100,16'
          Dst:             BnFromBytes
        - Src:             'tpm/src/crypt/BnConvert.c:103,5'
          Dst:             BnSetTop
    - functionName:    BnFromBytes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - bn
        - bytes
        - nBytes
      BBCount:         20
      ICount:          128
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - BnSetTop
        - TpmFail
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnConvert.c:57,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:57,30'
              BranchSideFuncs:
                - TpmFail
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnConvert.c:57,12'
              BranchSideFuncs:
                - TpmFail
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnConvert.c:60,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:61,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnConvert.c:64,5'
              BranchSideFuncs:
                - TpmFail
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnConvert.c:64,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:64,5'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnConvert.c:66,8'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnConvert.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:69,9'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnConvert.c:87,14'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnConvert.c:74,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:75,28'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnConvert.c:86,5'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/BnConvert.c:64,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnConvert.c:87,5'
          Dst:             BnSetTop
    - functionName:    BnFromHex
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bn
        - hex
      BBCount:         36
      ICount:          253
      EdgeCount:       45
      CyclomaticComplexity: 11
      functionsReached:
        - BnSetTop
        - BnSetWord
        - TpmFail
        - strlen
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnConvert.c:119,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:119,5'
              BranchSideFuncs:
                - TpmFail
                - strlen
                - BnSetTop
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/BnConvert.c:119,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnConvert.c:119,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:119,5'
              BranchSideFuncs:
                - strlen
                - BnSetTop
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/BnConvert.c:120,34'
              BranchSideFuncs:
                - strlen
                - BnSetTop
                - BnSetWord
        - Branch String:   'tpm/src/crypt/BnConvert.c:122,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:122,21'
              BranchSideFuncs:
                - BnSetWord
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnConvert.c:123,19'
              BranchSideFuncs:
                - BnSetWord
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnConvert.c:122,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:123,19'
              BranchSideFuncs:
                - BnSetWord
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnConvert.c:126,9'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnConvert.c:128,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:131,17'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnConvert.c:136,12'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnConvert.c:131,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:131,17'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnConvert.c:131,17'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnConvert.c:133,25'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:128,24'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnConvert.c:128,24'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnConvert.c:140,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnConvert.c:141,20'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnConvert.c:143,14'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/BnConvert.c:119,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnConvert.c:120,27'
          Dst:             strlen
        - Src:             'tpm/src/crypt/BnConvert.c:123,9'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/BnConvert.c:143,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/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 521
      functionLinenumberEnd: 536
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - dest
        - limit
        - rand
      BBCount:         16
      ICount:          89
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - BnGetRandomBits
        - BnSetWord
        - BnSizeInBits
        - BnUnsignedCmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:524,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:526,19'
              BranchSideFuncs:
                - BnSetWord
            - BranchSide:      'tpm/src/crypt/BnMath.c:531,9'
              BranchSideFuncs:
                - BnGetRandomBits
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/BnMath.c:532,15'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:531,9'
              BranchSideFuncs:
                - BnUnsignedCmp
                - BnGetRandomBits
            - BranchSide:      'tpm/src/crypt/BnMath.c:532,19'
              BranchSideFuncs:
                - BnUnsignedCmp
                - BnGetRandomBits
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:522,19'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/BnMath.c:526,9'
          Dst:             BnSetWord
        - Src:             'tpm/src/crypt/BnMath.c:531,15'
          Dst:             BnGetRandomBits
        - Src:             'tpm/src/crypt/BnMath.c:532,41'
          Dst:             BnUnsignedCmp
    - functionName:    BnSizeInBits
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - n
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnMsb
      functionUses:    13
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:363,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:363,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:363,37'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:361,16'
          Dst:             BnMsb
    - functionName:    BnSetWord
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - n
        - w
      BBCount:         10
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - BnSetTop
        - TpmFail
      functionUses:    17
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:370,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:370,8'
              BranchSideFuncs:
                - TpmFail
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:372,9'
              BranchSideFuncs:
                - TpmFail
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnMath.c:372,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:372,9'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:373,19'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:372,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnMath.c:374,9'
          Dst:             BnSetTop
    - functionName:    BnGetRandomBits
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 491
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - n
        - bits
        - rand
      BBCount:         12
      ICount:          73
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - BnFrom2B
        - BnMaskBits
        - DRBG_Generate
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:498,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:500,21'
              BranchSideFuncs:
                - BnFrom2B
                - BnMaskBits
            - BranchSide:      'tpm/src/crypt/BnMath.c:506,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:500,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:502,27'
              BranchSideFuncs:
                - BnMaskBits
            - BranchSide:      'tpm/src/crypt/BnMath.c:505,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:502,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:503,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:504,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:498,8'
          Dst:             DRBG_Generate
        - Src:             'tpm/src/crypt/BnMath.c:500,12'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/BnMath.c:502,16'
          Dst:             BnMaskBits
    - functionName:    BnUnsignedCmp
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - op1
        - op2
      BBCount:         23
      ICount:          144
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - TpmFail
      functionUses:    15
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:245,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:245,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnMath.c:245,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnMath.c:245,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:245,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:246,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:247,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:249,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:256,19'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:249,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:251,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:254,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:251,22'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:251,20'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:251,54'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:252,22'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:252,36'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:252,43'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:245,5'
          Dst:             TpmFail
    - functionName:    BnMaskBits
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - bn
        - maskBit
      BBCount:         8
      ICount:          72
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - BnSetTop
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:430,15'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:430,19'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:430,15'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnMath.c:430,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:430,8'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:432,23'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:436,5'
          Dst:             BnSetTop
    - functionName:    BnMsb
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - bn
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Msb
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:345,19'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:345,22'
              BranchSideFuncs:
                - Msb
            - BranchSide:      'tpm/src/crypt/BnMath.c:352,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:345,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:347,13'
              BranchSideFuncs:
                - Msb
            - BranchSide:      'tpm/src/crypt/BnMath.c:352,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:347,22'
          Dst:             Msb
    - functionName:    Msb
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 334
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - word
      BBCount:         19
      ICount:          128
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:303,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:305,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:309,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:309,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:311,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:314,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:314,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:316,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:319,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:319,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:321,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:324,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:324,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:326,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:329,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:329,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:329,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:331,16'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    BnShiftRight
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 475
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - result
        - toShift
        - shiftAmount
      BBCount:         20
      ICount:          181
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - BnSetTop
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:455,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:457,21'
              BranchSideFuncs:
                - TpmFail
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:461,19'
              BranchSideFuncs:
                - TpmFail
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnMath.c:463,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:463,5'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:464,8'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnMath.c:464,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:464,8'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:466,15'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnMath.c:466,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:468,29'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:471,12'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnMath.c:471,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:472,28'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:473,5'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:463,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnMath.c:474,5'
          Dst:             BnSetTop
    - functionName:    BnTestBit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - bn
        - bitNum
      BBCount:         4
      ICount:          48
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:407,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:408,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:410,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    BnSetBit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - bn
        - bitNum
      BBCount:         10
      ICount:          73
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:387,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:387,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:389,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:389,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:390,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:391,43'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:387,5'
          Dst:             TpmFail
    - functionName:    BnModWord
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 281
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - numerator
        - modulus
      BBCount:         3
      ICount:          50
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BnDiv
        - BnInit
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:282,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/BnMath.c:283,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/BnMath.c:287,5'
          Dst:             BnDiv
    - functionName:    BnUnsignedCmpWord
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - op1
        - word
      BBCount:         9
      ICount:          66
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:268,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:269,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:270,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:270,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:271,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:274,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:271,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:271,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:271,43'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    BnSubWord
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - result
        - op
        - word
      BBCount:         14
      ICount:          103
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - BnSetTop
        - BorrowProp
        - TpmFail
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:222,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:222,5'
              BranchSideFuncs:
                - BorrowProp
                - BnSetTop
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnMath.c:222,5'
              BranchSideFuncs:
                - TpmFail
                - BorrowProp
                - BnSetTop
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnMath.c:222,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:222,5'
              BranchSideFuncs:
                - BorrowProp
                - BnSetTop
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnMath.c:223,20'
              BranchSideFuncs:
                - BorrowProp
                - BnSetTop
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnMath.c:226,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:226,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnMath.c:226,5'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:222,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnMath.c:225,20'
          Dst:             BorrowProp
        - Src:             'tpm/src/crypt/BnMath.c:226,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnMath.c:227,5'
          Dst:             BnSetTop
    - functionName:    BorrowProp
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - result
        - op
        - size
        - borrow
      BBCount:         8
      ICount:          61
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:190,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:191,35'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:192,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMath.c:191,68'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:190,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:191,71'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    SubSame
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - result
        - op1
        - op2
        - count
      BBCount:         5
      ICount:          80
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:169,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:171,30'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:177,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    BnSub
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - result
        - op1
        - op2
      BBCount:         17
      ICount:          133
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - BnSetTop
        - BorrowProp
        - SubSame
        - TpmFail
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:202,21'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:202,16'
              BranchSideFuncs:
                - TpmFail
                - SubSame
                - BnSetTop
                - TpmFail
                - BorrowProp
            - BranchSide:      'tpm/src/crypt/BnMath.c:202,16'
              BranchSideFuncs:
                - TpmFail
                - SubSame
                - BnSetTop
                - TpmFail
                - BorrowProp
        - Branch String:   'tpm/src/crypt/BnMath.c:205,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:205,5'
              BranchSideFuncs:
                - SubSame
                - BnSetTop
                - TpmFail
                - BorrowProp
            - BranchSide:      'tpm/src/crypt/BnMath.c:206,22'
              BranchSideFuncs:
                - SubSame
                - BnSetTop
                - TpmFail
                - BorrowProp
        - Branch String:   'tpm/src/crypt/BnMath.c:207,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:209,14'
              BranchSideFuncs:
                - BorrowProp
                - BnSetTop
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnMath.c:210,5'
              BranchSideFuncs:
                - BnSetTop
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnMath.c:210,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:210,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnMath.c:210,5'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:205,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnMath.c:206,14'
          Dst:             SubSame
        - Src:             'tpm/src/crypt/BnMath.c:208,18'
          Dst:             BorrowProp
        - Src:             'tpm/src/crypt/BnMath.c:210,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnMath.c:211,5'
          Dst:             BnSetTop
    - functionName:    BnAddWord
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - result
        - op
        - word
      BBCount:         3
      ICount:          58
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CarryProp
        - CarryResolve
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:155,13'
          Dst:             CarryProp
        - Src:             'tpm/src/crypt/BnMath.c:156,5'
          Dst:             CarryResolve
    - functionName:    CarryProp
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - result
        - op
        - count
        - carry
      BBCount:         5
      ICount:          50
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:108,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:109,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:110,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CarryResolve
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - result
        - stop
        - carry
      BBCount:         10
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - BnSetTop
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:115,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:115,8'
              BranchSideFuncs:
                - TpmFail
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:117,9'
              BranchSideFuncs:
                - TpmFail
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnMath.c:117,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:117,9'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMath.c:118,9'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:117,9'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnMath.c:120,5'
          Dst:             BnSetTop
    - functionName:    AddSame
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - result
        - op1
        - op2
        - count
      BBCount:         5
      ICount:          84
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:88,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:90,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMath.c:100,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    BnAdd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - result
        - op1
        - op2
      BBCount:         16
      ICount:          146
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - AddSame
        - CarryProp
        - CarryResolve
        - TpmFail
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMath.c:133,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:135,14'
              BranchSideFuncs:
                - TpmFail
                - AddSame
                - CarryResolve
                - CarryProp
            - BranchSide:      'tpm/src/crypt/BnMath.c:138,5'
              BranchSideFuncs:
                - TpmFail
                - AddSame
                - CarryResolve
                - CarryProp
        - Branch String:   'tpm/src/crypt/BnMath.c:138,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:138,5'
              BranchSideFuncs:
                - AddSame
                - CarryResolve
                - CarryProp
            - BranchSide:      'tpm/src/crypt/BnMath.c:139,13'
              BranchSideFuncs:
                - AddSame
                - CarryResolve
                - CarryProp
        - Branch String:   'tpm/src/crypt/BnMath.c:139,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:139,11'
              BranchSideFuncs:
                - AddSame
                - CarryResolve
                - CarryProp
            - BranchSide:      'tpm/src/crypt/BnMath.c:139,11'
              BranchSideFuncs:
                - AddSame
                - CarryResolve
                - CarryProp
        - Branch String:   'tpm/src/crypt/BnMath.c:141,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMath.c:141,8'
              BranchSideFuncs:
                - CarryProp
                - CarryResolve
            - BranchSide:      'tpm/src/crypt/BnMath.c:143,24'
              BranchSideFuncs:
                - CarryProp
                - CarryResolve
      Callsites:
        - Src:             'tpm/src/crypt/BnMath.c:138,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnMath.c:140,18'
          Dst:             AddSame
        - Src:             'tpm/src/crypt/BnMath.c:143,13'
          Dst:             CarryProp
        - Src:             'tpm/src/crypt/BnMath.c:144,5'
          Dst:             CarryResolve
    - functionName:    BnInitializePoint
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - p
        - x
        - y
        - z
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BnSetWord
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/BnMemory.c:162,5'
          Dst:             BnSetWord
    - functionName:    BnPointCopy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - pOut
        - pIn
      BBCount:         8
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - BnCopy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMemory.c:145,36'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:145,46'
              BranchSideFuncs:
                - BnCopy
                - BnCopy
            - BranchSide:      'tpm/src/crypt/BnMemory.c:145,36'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMemory.c:146,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:146,22'
              BranchSideFuncs:
                - BnCopy
            - BranchSide:      'tpm/src/crypt/BnMemory.c:146,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/BnMemory.c:145,12'
          Dst:             BnCopy
        - Src:             'tpm/src/crypt/BnMemory.c:145,39'
          Dst:             BnCopy
        - Src:             'tpm/src/crypt/BnMemory.c:146,15'
          Dst:             BnCopy
    - functionName:    BnCopy
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - out
        - in
      BBCount:         20
      ICount:          107
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - BnSetTop
        - TpmFail
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMemory.c:121,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:122,18'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMemory.c:123,13'
              BranchSideFuncs:
                - BnSetTop
                - TpmFail
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnMemory.c:125,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:128,13'
              BranchSideFuncs:
                - TpmFail
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMemory.c:134,22'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnMemory.c:128,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:128,13'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMemory.c:129,19'
              BranchSideFuncs:
                - BnSetTop
        - Branch String:   'tpm/src/crypt/BnMemory.c:129,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:130,29'
              BranchSideFuncs:
                - BnSetTop
            - BranchSide:      'tpm/src/crypt/BnMemory.c:131,22'
              BranchSideFuncs:
                - BnSetTop
      Callsites:
        - Src:             'tpm/src/crypt/BnMemory.c:122,9'
          Dst:             BnSetTop
        - Src:             'tpm/src/crypt/BnMemory.c:128,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/BnMemory.c:131,13'
          Dst:             BnSetTop
        - Src:             'tpm/src/crypt/BnMemory.c:134,13'
          Dst:             BnSetTop
    - functionName:    BnSetTop
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - bn
        - top
      BBCount:         19
      ICount:          103
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - TpmFail
      functionUses:    13
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMemory.c:52,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:52,8'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/BnMemory.c:54,9'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/BnMemory.c:54,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:54,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:57,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMemory.c:57,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:58,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:59,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMemory.c:62,30'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:62,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:62,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMemory.c:62,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:63,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:64,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/BnMemory.c:54,9'
          Dst:             TpmFail
    - functionName:    BnInit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - bn
        - allocated
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    67
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMemory.c:105,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:105,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:107,25'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMemory.c:109,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:110,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:111,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    BnInitializeWord
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - bn
        - allocated
        - word
      BBCount:         4
      ICount:          49
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMemory.c:95,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:96,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:97,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    BnClearTop
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - bn
      BBCount:         14
      ICount:          81
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/BnMemory.c:74,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:74,8'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:76,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMemory.c:76,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:77,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:78,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMemory.c:78,30'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:78,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:78,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/BnMemory.c:78,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/BnMemory.c:79,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/BnMemory.c:80,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    CryptCmacEnd
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptCmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - outSize
        - outBuffer
      BBCount:         22
      ICount:          284
      EdgeCount:       24
      CyclomaticComplexity: 4
      functionsReached:
        - AES_set_encrypt_key
        - MemoryCopy
        - ShiftLeft
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptCmac.c:136,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:138,9'
              BranchSideFuncs:
                - AES_set_encrypt_key
                - ShiftLeft
                - TpmFail
                - MemoryCopy
                - ShiftLeft
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:138,9'
              BranchSideFuncs:
                - Camellia_set_key
                - ShiftLeft
                - TpmFail
                - MemoryCopy
                - ShiftLeft
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:140,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptCmac.c:150,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:150,5'
              BranchSideFuncs:
                - MemoryCopy
                - ShiftLeft
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:152,8'
              BranchSideFuncs:
                - MemoryCopy
                - ShiftLeft
        - Branch String:   'tpm/src/crypt/CryptCmac.c:152,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:155,9'
              BranchSideFuncs:
                - ShiftLeft
                - MemoryCopy
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:164,11'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/crypt/CryptCmac.c:164,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:165,44'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:166,5'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/crypt/CryptCmac.c:167,17'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:167,9'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:167,9'
              BranchSideFuncs:
                - MemoryCopy
      Callsites:
        - Src:             'tpm/src/crypt/CryptCmac.c:138,9'
          Dst:             AES_set_encrypt_key
        - Src:             'tpm/src/crypt/CryptCmac.c:138,9'
          Dst:             Camellia_set_key
        - Src:             'tpm/src/crypt/CryptCmac.c:146,5'
          Dst:             ShiftLeft
        - Src:             'tpm/src/crypt/CryptCmac.c:150,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptCmac.c:160,9'
          Dst:             ShiftLeft
        - Src:             'tpm/src/crypt/CryptCmac.c:168,5'
          Dst:             MemoryCopy
    - functionName:    CryptCmacData
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptCmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - size
        - buffer
      BBCount:         20
      ICount:          179
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - AES_set_encrypt_key
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptCmac.c:94,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:96,9'
              BranchSideFuncs:
                - AES_set_encrypt_key
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:96,9'
              BranchSideFuncs:
                - Camellia_set_key
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:98,13'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptCmac.c:100,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:102,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:113,1'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptCmac.c:102,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:104,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:107,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptCmac.c:107,26'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:107,30'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:107,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptCmac.c:107,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:100,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:110,65'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptCmac.c:96,9'
          Dst:             AES_set_encrypt_key
        - Src:             'tpm/src/crypt/CryptCmac.c:96,9'
          Dst:             Camellia_set_key
        - Src:             'tpm/src/crypt/CryptCmac.c:98,13'
          Dst:             TpmFail
    - functionName:    CryptCmacStart
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptCmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - state
        - keyParms
        - macAlg
        - key
      BBCount:         6
      ICount:          89
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptGetSymmetricBlockSize
        - MemoryCopy2B
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptCmac.c:62,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:63,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptCmac.c:65,27'
              BranchSideFuncs:
                - CryptGetSymmetricBlockSize
                - MemoryCopy2B
      Callsites:
        - Src:             'tpm/src/crypt/CryptCmac.c:67,25'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'tpm/src/crypt/CryptCmac.c:68,5'
          Dst:             MemoryCopy2B
    - functionName:    CryptEccDecrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccCrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - key
        - scheme
        - plainText
        - c1
        - c2
        - c3
      BBCount:         28
      ICount:          237
      EdgeCount:       33
      CyclomaticComplexity: 7
      functionsReached:
        - BnCurveFree
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnPointFrom2B
        - BnPointMult
        - BnPointTo2B
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashStart
        - CryptMGF_KDF
        - MemoryConcat2B
        - MemoryCopy2B
        - MemoryEqual2B
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:176,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:177,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:178,24'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - MemoryCopy2B
                - MemoryConcat2B
                - CryptMGF_KDF
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryEqual2B
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:178,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:179,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:181,17'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - MemoryCopy2B
                - MemoryConcat2B
                - CryptMGF_KDF
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryEqual2B
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:185,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:186,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:187,41'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - MemoryCopy2B
                - MemoryConcat2B
                - CryptMGF_KDF
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryEqual2B
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:200,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:201,35'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryEqual2B
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:204,38'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryEqual2B
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:207,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:207,39'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:208,9'
              BranchSideFuncs:
                - BnCurveFree
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:165,5'
          Dst:             BnCurveInitialize
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:166,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:166,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:167,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:167,5'
          Dst:             BnPointFrom2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:181,5'
          Dst:             BnPointMult
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:182,5'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:185,13'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:187,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:189,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:190,5'
          Dst:             MemoryConcat2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:193,25'
          Dst:             CryptMGF_KDF
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:204,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:205,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:206,20'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:207,9'
          Dst:             MemoryEqual2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:210,5'
          Dst:             BnCurveFree
    - functionName:    CryptEccEncrypt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccCrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - key
        - scheme
        - plainText
        - c1
        - c2
        - c3
      BBCount:         35
      ICount:          290
      EdgeCount:       43
      CyclomaticComplexity: 10
      functionsReached:
        - BnCurveFree
        - BnCurveInitialize
        - BnEccGenerateKeyPair
        - BnInit
        - BnInitializePoint
        - BnPointFrom2B
        - BnPointMult
        - BnPointTo2B
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashStart
        - CryptMGF_KDF
        - MemoryConcat2B
        - MemoryCopy2B
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:109,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:110,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:111,24'
              BranchSideFuncs:
                - BnEccGenerateKeyPair
                - BnCurveFree
                - BnPointTo2B
                - BnPointMult
                - BnPointTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryCopy2B
                - MemoryConcat2B
                - CryptMGF_KDF
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:111,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:112,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:114,30'
              BranchSideFuncs:
                - BnEccGenerateKeyPair
                - BnCurveFree
                - BnPointTo2B
                - BnPointMult
                - BnPointTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryCopy2B
                - MemoryConcat2B
                - CryptMGF_KDF
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:116,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:116,24'
              BranchSideFuncs:
                - BnPointTo2B
                - BnCurveFree
                - BnPointMult
                - BnPointTo2B
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryCopy2B
                - MemoryConcat2B
                - CryptMGF_KDF
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:120,9'
              BranchSideFuncs:
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:118,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:118,24'
              BranchSideFuncs:
                - BnPointMult
                - BnPointTo2B
                - BnCurveFree
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryCopy2B
                - MemoryConcat2B
                - CryptMGF_KDF
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:120,9'
              BranchSideFuncs:
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:119,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:119,29'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:120,9'
              BranchSideFuncs:
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:114,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:120,9'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryCopy2B
                - MemoryConcat2B
                - CryptMGF_KDF
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:123,40'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryCopy2B
                - MemoryConcat2B
                - CryptMGF_KDF
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:123,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:124,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:125,41'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd
                - MemoryCopy2B
                - MemoryConcat2B
                - CryptMGF_KDF
                - BnCurveFree
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:140,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:141,28'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:141,49'
              BranchSideFuncs:
                - BnCurveFree
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:85,5'
          Dst:             BnCurveInitialize
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:86,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:86,5'
          Dst:             BnPointFrom2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:87,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:89,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:114,9'
          Dst:             BnEccGenerateKeyPair
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:116,12'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:118,12'
          Dst:             BnPointMult
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:119,12'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:123,13'
          Dst:             CryptHashStart
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:125,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:126,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:127,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:128,18'
          Dst:             CryptHashEnd
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:130,5'
          Dst:             MemoryCopy2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:131,5'
          Dst:             MemoryConcat2B
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:133,18'
          Dst:             CryptMGF_KDF
        - Src:             'tpm/src/crypt/CryptEccCrypt.c:143,5'
          Dst:             BnCurveFree
    - functionName:    CryptEccSelectScheme
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccCrypt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - key
        - scheme
      BBCount:         13
      ICount:          98
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:57,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:58,10'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:59,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:59,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:60,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:62,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptEccCrypt.c:63,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:63,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptEccCrypt.c:63,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    C_2_2_ECDH
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccKeyExchange.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - outZs
        - outZe
        - curveId
        - dsA
        - deA
        - QsB
        - QeB
      BBCount:         28
      ICount:          223
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - BnCurveFree
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnPointFrom2B
        - BnPointMult
        - BnPointTo2B
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:185,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:186,9'
              BranchSideFuncs:
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
              BranchSideFuncs:
                - TpmFail
                - BnPointMult
                - BnCurveFree
                - BnPointTo2B
                - BnPointMult
                - BnPointTo2B
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
              BranchSideFuncs:
                - TpmFail
                - BnPointMult
                - BnCurveFree
                - BnPointTo2B
                - BnPointMult
                - BnPointTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
              BranchSideFuncs:
                - TpmFail
                - BnPointMult
                - BnCurveFree
                - BnPointTo2B
                - BnPointMult
                - BnPointTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
              BranchSideFuncs:
                - TpmFail
                - BnPointMult
                - BnCurveFree
                - BnPointTo2B
                - BnPointMult
                - BnPointTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
              BranchSideFuncs:
                - TpmFail
                - BnPointMult
                - BnCurveFree
                - BnPointTo2B
                - BnPointMult
                - BnPointTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
              BranchSideFuncs:
                - BnPointMult
                - BnCurveFree
                - BnPointTo2B
                - BnPointMult
                - BnPointTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:191,26'
              BranchSideFuncs:
                - BnPointMult
                - BnCurveFree
                - BnPointTo2B
                - BnPointMult
                - BnPointTo2B
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:192,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:192,18'
              BranchSideFuncs:
                - BnPointTo2B
                - BnPointMult
                - BnCurveFree
                - BnPointTo2B
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:195,21'
              BranchSideFuncs:
                - BnPointTo2B
                - BnPointMult
                - BnCurveFree
                - BnPointTo2B
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:198,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:199,25'
              BranchSideFuncs:
                - BnPointTo2B
                - BnCurveFree
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:200,5'
              BranchSideFuncs:
                - BnCurveFree
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:176,5'
          Dst:             BnCurveInitialize
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:177,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:177,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:178,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:178,5'
          Dst:             BnFrom2B
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:179,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:179,5'
          Dst:             BnPointFrom2B
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:180,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:180,5'
          Dst:             BnPointFrom2B
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:181,5'
          Dst:             BnInitializePoint
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:187,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:191,14'
          Dst:             BnPointMult
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:195,9'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:197,18'
          Dst:             BnPointMult
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:199,13'
          Dst:             BnPointTo2B
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:202,5'
          Dst:             BnCurveFree
    - functionName:    CryptEcc2PhaseKeyExchange
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptEccKeyExchange.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - outZ1
        - outZ2
        - curveId
        - scheme
        - dsA
        - deA
        - QsB
        - QeB
      BBCount:         22
      ICount:          126
      EdgeCount:       26
      CyclomaticComplexity: 6
      functionsReached:
        - C_2_2_ECDH
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
              BranchSideFuncs:
                - TpmFail
                - C_2_2_ECDH
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
              BranchSideFuncs:
                - TpmFail
                - C_2_2_ECDH
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
              BranchSideFuncs:
                - TpmFail
                - C_2_2_ECDH
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
              BranchSideFuncs:
                - TpmFail
                - C_2_2_ECDH
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
              BranchSideFuncs:
                - C_2_2_ECDH
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:227,5'
              BranchSideFuncs:
                - C_2_2_ECDH
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:229,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:231,9'
              BranchSideFuncs:
                - C_2_2_ECDH
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:234,12'
              BranchSideFuncs:
                - C_2_2_ECDH
        - Branch String:   'tpm/src/crypt/CryptEccKeyExchange.c:234,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:237,31'
              BranchSideFuncs:
                - C_2_2_ECDH
            - BranchSide:      'tpm/src/crypt/CryptEccKeyExchange.c:250,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:222,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptEccKeyExchange.c:237,20'
          Dst:             C_2_2_ECDH
    - functionName:    BnGeneratePrimeForRSA
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 365
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - prime
        - bits
        - exponent
        - rand
      BBCount:         17
      ICount:          101
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - BnGetRandomBits
        - RsaAdjustPrimeCandidate
        - RsaCheckPrime
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrime.c:347,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:347,5'
              BranchSideFuncs:
                - TpmFail
                - BnGetRandomBits
                - RsaAdjustPrimeCandidate
                - RsaCheckPrime
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:349,5'
              BranchSideFuncs:
                - TpmFail
                - BnGetRandomBits
                - RsaAdjustPrimeCandidate
                - RsaCheckPrime
        - Branch String:   'tpm/src/crypt/CryptPrime.c:349,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:349,5'
              BranchSideFuncs:
                - BnGetRandomBits
                - RsaAdjustPrimeCandidate
                - RsaCheckPrime
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:351,19'
              BranchSideFuncs:
                - BnGetRandomBits
                - RsaAdjustPrimeCandidate
                - RsaCheckPrime
        - Branch String:   'tpm/src/crypt/CryptPrime.c:353,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:359,29'
              BranchSideFuncs:
                - BnGetRandomBits
                - RsaAdjustPrimeCandidate
                - RsaCheckPrime
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:364,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrime.c:359,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:360,13'
              BranchSideFuncs:
                - RsaAdjustPrimeCandidate
                - RsaCheckPrime
                - BnGetRandomBits
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:361,33'
              BranchSideFuncs:
                - RsaAdjustPrimeCandidate
                - RsaCheckPrime
                - BnGetRandomBits
      Callsites:
        - Src:             'tpm/src/crypt/CryptPrime.c:347,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptPrime.c:349,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptPrime.c:359,13'
          Dst:             BnGetRandomBits
        - Src:             'tpm/src/crypt/CryptPrime.c:361,9'
          Dst:             RsaAdjustPrimeCandidate
        - Src:             'tpm/src/crypt/CryptPrime.c:362,17'
          Dst:             RsaCheckPrime
    - functionName:    RsaAdjustPrimeCandidate
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - prime
      BBCount:         1
      ICount:          67
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    RsaCheckPrime
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - prime
        - exponent
        - rand
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - PrimeSelectWithSieve
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/CryptPrime.c:279,12'
          Dst:             PrimeSelectWithSieve
    - functionName:    MillerRabinRounds
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - bits
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrime.c:149,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:150,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:151,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrime.c:151,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:152,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:153,5'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    MillerRabin
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - bnW
        - rand
      BBCount:         53
      ICount:          295
      EdgeCount:       66
      CyclomaticComplexity: 15
      functionsReached:
        - BnGetRandomBits
        - BnInit
        - BnModExp
        - BnModMult
        - BnShiftRight
        - BnSizeInBits
        - BnSubWord
        - BnTestBit
        - BnUnsignedCmp
        - BnUnsignedCmpWord
        - MillerRabinRounds
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrime.c:178,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:178,5'
              BranchSideFuncs:
                - BnSubWord
                - TpmFail
                - BnShiftRight
                - BnSizeInBits
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnTestBit
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:180,15'
              BranchSideFuncs:
                - BnSubWord
                - TpmFail
                - BnShiftRight
                - BnSizeInBits
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnTestBit
        - Branch String:   'tpm/src/crypt/CryptPrime.c:181,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:181,5'
              BranchSideFuncs:
                - BnShiftRight
                - BnSizeInBits
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnTestBit
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:186,15'
              BranchSideFuncs:
                - BnShiftRight
                - BnSizeInBits
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnTestBit
        - Branch String:   'tpm/src/crypt/CryptPrime.c:188,49'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:188,63'
              BranchSideFuncs:
                - BnTestBit
                - BnShiftRight
                - BnSizeInBits
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:188,5'
              BranchSideFuncs:
                - BnShiftRight
                - BnSizeInBits
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnTestBit
        - Branch String:   'tpm/src/crypt/CryptPrime.c:188,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:188,81'
              BranchSideFuncs:
                - BnShiftRight
                - BnSizeInBits
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnTestBit
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:191,18'
              BranchSideFuncs:
                - BnShiftRight
                - BnSizeInBits
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/CryptPrime.c:195,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:200,9'
              BranchSideFuncs:
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:236,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrime.c:202,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:200,9'
              BranchSideFuncs:
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnGetRandomBits
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:202,36'
              BranchSideFuncs:
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnGetRandomBits
        - Branch String:   'tpm/src/crypt/CryptPrime.c:200,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:201,29'
              BranchSideFuncs:
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:204,12'
              BranchSideFuncs:
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnGetRandomBits
                - BnUnsignedCmpWord
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/CryptPrime.c:204,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:205,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:210,18'
              BranchSideFuncs:
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnGetRandomBits
                - BnUnsignedCmpWord
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/CryptPrime.c:213,45'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:213,63'
              BranchSideFuncs:
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:214,13'
              BranchSideFuncs:
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/CryptPrime.c:213,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:214,13'
              BranchSideFuncs:
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:216,15'
              BranchSideFuncs:
                - BnModMult
                - BnUnsignedCmp
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/CryptPrime.c:216,9'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:219,23'
              BranchSideFuncs:
                - BnModMult
                - BnUnsignedCmp
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:226,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrime.c:221,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:222,17'
              BranchSideFuncs:
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnModMult
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:224,16'
              BranchSideFuncs:
                - BnModMult
                - BnUnsignedCmp
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/CryptPrime.c:224,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:224,16'
              BranchSideFuncs:
                - BnModMult
                - BnUnsignedCmp
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:226,9'
              BranchSideFuncs:
                - BnModMult
                - BnUnsignedCmp
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
        - Branch String:   'tpm/src/crypt/CryptPrime.c:224,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:225,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:226,9'
              BranchSideFuncs:
                - BnModMult
                - BnUnsignedCmp
                - BnGetRandomBits
                - BnModExp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
                - BnUnsignedCmpWord
                - BnUnsignedCmp
      Callsites:
        - Src:             'tpm/src/crypt/CryptPrime.c:165,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptPrime.c:166,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptPrime.c:167,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptPrime.c:168,5'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptPrime.c:174,49'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/CryptPrime.c:174,31'
          Dst:             MillerRabinRounds
        - Src:             'tpm/src/crypt/CryptPrime.c:178,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptPrime.c:180,5'
          Dst:             BnSubWord
        - Src:             'tpm/src/crypt/CryptPrime.c:181,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptPrime.c:188,53'
          Dst:             BnTestBit
        - Src:             'tpm/src/crypt/CryptPrime.c:191,5'
          Dst:             BnShiftRight
        - Src:             'tpm/src/crypt/CryptPrime.c:193,12'
          Dst:             BnSizeInBits
        - Src:             'tpm/src/crypt/CryptPrime.c:201,13'
          Dst:             BnGetRandomBits
        - Src:             'tpm/src/crypt/CryptPrime.c:202,18'
          Dst:             BnUnsignedCmpWord
        - Src:             'tpm/src/crypt/CryptPrime.c:202,54'
          Dst:             BnUnsignedCmp
        - Src:             'tpm/src/crypt/CryptPrime.c:210,9'
          Dst:             BnModExp
        - Src:             'tpm/src/crypt/CryptPrime.c:213,13'
          Dst:             BnUnsignedCmpWord
        - Src:             'tpm/src/crypt/CryptPrime.c:213,49'
          Dst:             BnUnsignedCmp
        - Src:             'tpm/src/crypt/CryptPrime.c:219,13'
          Dst:             BnModMult
        - Src:             'tpm/src/crypt/CryptPrime.c:221,16'
          Dst:             BnUnsignedCmp
    - functionName:    BnIsProbablyPrime
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - prime
        - rand
      BBCount:         15
      ICount:          119
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - BnGcd
        - BnInit
        - BnUnsignedCmpWord
        - IsPrimeInt
        - MillerRabin
      functionUses:    0
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrime.c:119,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:123,37'
              BranchSideFuncs:
                - IsPrimeInt
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:125,8'
              BranchSideFuncs:
                - BnUnsignedCmpWord
                - BnInit
                - BnGcd
                - MillerRabin
        - Branch String:   'tpm/src/crypt/CryptPrime.c:125,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:126,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:127,26'
              BranchSideFuncs:
                - BnUnsignedCmpWord
                - BnInit
                - BnGcd
                - MillerRabin
        - Branch String:   'tpm/src/crypt/CryptPrime.c:127,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:129,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:133,9'
              BranchSideFuncs:
                - BnInit
                - BnGcd
                - MillerRabin
        - Branch String:   'tpm/src/crypt/CryptPrime.c:135,13'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:135,13'
              BranchSideFuncs:
                - MillerRabin
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:136,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrime.c:135,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:136,13'
              BranchSideFuncs:
                - MillerRabin
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:138,24'
              BranchSideFuncs:
                - MillerRabin
      Callsites:
        - Src:             'tpm/src/crypt/CryptPrime.c:119,8'
          Dst:             BnUnsignedCmpWord
        - Src:             'tpm/src/crypt/CryptPrime.c:123,16'
          Dst:             IsPrimeInt
        - Src:             'tpm/src/crypt/CryptPrime.c:127,8'
          Dst:             BnUnsignedCmpWord
        - Src:             'tpm/src/crypt/CryptPrime.c:133,9'
          Dst:             BnInit
        - Src:             'tpm/src/crypt/CryptPrime.c:134,9'
          Dst:             BnGcd
        - Src:             'tpm/src/crypt/CryptPrime.c:138,12'
          Dst:             MillerRabin
    - functionName:    IsPrimeInt
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - n
      BBCount:         20
      ICount:          124
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - Root2
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrime.c:89,14'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:89,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:90,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrime.c:89,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:90,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:91,8'
              BranchSideFuncs:
                - Root2
        - Branch String:   'tpm/src/crypt/CryptPrime.c:91,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:93,11'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:97,18'
              BranchSideFuncs:
                - Root2
        - Branch String:   'tpm/src/crypt/CryptPrime.c:99,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:101,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:106,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrime.c:101,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:103,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:105,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/crypt/CryptPrime.c:103,16'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:103,40'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:104,17'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/CryptPrime.c:97,12'
          Dst:             Root2
    - functionName:    Root2
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - n
      BBCount:         30
      ICount:          155
      EdgeCount:       35
      CyclomaticComplexity: 7
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/CryptPrime.c:65,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:65,27'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:67,9'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrime.c:73,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:74,13'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:75,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrime.c:75,23'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:75,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:75,26'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrime.c:75,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:70,17'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:76,9'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrime.c:76,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:77,13'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:78,5'
              BranchSideFuncs:
                - TpmFail
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrime.c:78,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:78,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:79,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrime.c:79,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:79,5'
              BranchSideFuncs:
                - TpmFail
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:79,5'
              BranchSideFuncs:
                - TpmFail
        - Branch String:   'tpm/src/crypt/CryptPrime.c:79,5'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:79,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/CryptPrime.c:79,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/crypt/CryptPrime.c:74,13'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptPrime.c:78,5'
          Dst:             TpmFail
        - Src:             'tpm/src/crypt/CryptPrime.c:79,5'
          Dst:             TpmFail
    - functionName:    TicketComputeCreation
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/Ticket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hierarchy
        - name
        - creation
        - ticket
      BBCount:         6
      ICount:          68
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - HierarchyGetProof
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/Ticket.c:261,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/Ticket.c:261,8'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
            - BranchSide:      'tpm/src/crypt/Ticket.c:262,40'
              BranchSideFuncs:
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHmacEnd2B
      Callsites:
        - Src:             'tpm/src/crypt/Ticket.c:249,13'
          Dst:             HierarchyGetProof
        - Src:             'tpm/src/crypt/Ticket.c:257,9'
          Dst:             CryptHmacStart2B
        - Src:             'tpm/src/crypt/Ticket.c:259,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/Ticket.c:262,9'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/Ticket.c:264,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/Ticket.c:266,5'
          Dst:             CryptHmacEnd2B
    - functionName:    TicketComputeHashCheck
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/Ticket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hierarchy
        - hashAlg
        - digest
        - ticket
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - HierarchyGetProof
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/Ticket.c:206,13'
          Dst:             HierarchyGetProof
        - Src:             'tpm/src/crypt/Ticket.c:214,9'
          Dst:             CryptHmacStart2B
        - Src:             'tpm/src/crypt/Ticket.c:216,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/Ticket.c:218,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/Ticket.c:220,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/Ticket.c:222,5'
          Dst:             CryptHmacEnd2B
    - functionName:    TicketComputeAuth
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/Ticket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - short
        - int
        - size_t
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - type
        - hierarchy
        - timeout
        - expiresOnReset
        - cpHashA
        - policyRef
        - entityName
        - ticket
      BBCount:         9
      ICount:          103
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - HierarchyGetProof
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/Ticket.c:168,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/Ticket.c:168,8'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHmacEnd2B
                - CryptDigestUpdateInt
            - BranchSide:      'tpm/src/crypt/Ticket.c:171,41'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHmacEnd2B
                - CryptDigestUpdateInt
        - Branch String:   'tpm/src/crypt/Ticket.c:173,12'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/Ticket.c:175,28'
              BranchSideFuncs:
                - CryptDigestUpdateInt
                - CryptHmacEnd2B
            - BranchSide:      'tpm/src/crypt/Ticket.c:176,5'
              BranchSideFuncs:
                - CryptHmacEnd2B
      Callsites:
        - Src:             'tpm/src/crypt/Ticket.c:149,13'
          Dst:             HierarchyGetProof
        - Src:             'tpm/src/crypt/Ticket.c:157,9'
          Dst:             CryptHmacStart2B
        - Src:             'tpm/src/crypt/Ticket.c:159,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/Ticket.c:161,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/Ticket.c:163,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/Ticket.c:165,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/Ticket.c:167,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/Ticket.c:171,9'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/Ticket.c:174,13'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/Ticket.c:178,5'
          Dst:             CryptHmacEnd2B
    - functionName:    TicketComputeVerified
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/Ticket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - hierarchy
        - digest
        - keyName
        - ticket
      BBCount:         3
      ICount:          57
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - HierarchyGetProof
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/crypt/Ticket.c:98,25'
          Dst:             HierarchyGetProof
        - Src:             'tpm/src/crypt/Ticket.c:102,9'
          Dst:             CryptHmacStart2B
        - Src:             'tpm/src/crypt/Ticket.c:104,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'tpm/src/crypt/Ticket.c:106,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/Ticket.c:108,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/crypt/Ticket.c:110,5'
          Dst:             CryptHmacEnd2B
    - functionName:    TicketIsSafe
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/crypt/Ticket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - buffer
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - MemoryEqual
        - UINT32_Marshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/crypt/Ticket.c:62,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/Ticket.c:63,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/Ticket.c:64,21'
              BranchSideFuncs:
                - UINT32_Marshal
                - MemoryEqual
        - Branch String:   'tpm/src/crypt/Ticket.c:66,8'
          Branch Sides:
            - BranchSide:      'tpm/src/crypt/Ticket.c:67,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/crypt/Ticket.c:69,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/crypt/Ticket.c:65,5'
          Dst:             UINT32_Marshal
        - Src:             'tpm/src/crypt/Ticket.c:66,8'
          Dst:             MemoryEqual
    - functionName:    TPMPropertyIsDefined
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/PropertyCap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 531
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - property
        - value
      BBCount:         103
      ICount:          629
      EdgeCount:       112
      CyclomaticComplexity: 11
      functionsReached:
        - ByteArrayToUint32
        - NvCapGetCounterAvail
        - NvCapGetCounterNumber
        - NvCapGetIndexNumber
        - NvCapGetPersistentAvail
        - NvCapGetPersistentNumber
        - ObjectCapGetTransientAvail
        - SessionCapGetActiveAvail
        - SessionCapGetActiveNumber
        - SessionCapGetLoadedAvail
        - SessionCapGetLoadedNumber
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/PropertyCap.c:59,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:64,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:68,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:72,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:76,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:80,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:84,22'
              BranchSideFuncs:
                - ByteArrayToUint32
            - BranchSide:      'tpm/src/support/PropertyCap.c:88,22'
              BranchSideFuncs:
                - ByteArrayToUint32
            - BranchSide:      'tpm/src/support/PropertyCap.c:93,22'
              BranchSideFuncs:
                - ByteArrayToUint32
            - BranchSide:      'tpm/src/support/PropertyCap.c:103,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:111,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:116,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:120,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:124,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:128,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:133,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:140,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:145,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:149,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:153,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:157,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:162,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:169,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:173,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:182,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:196,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:201,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:205,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:209,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:214,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:218,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:222,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:226,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:257,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:281,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:288,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:292,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:297,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:301,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:305,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:309,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:321,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:340,18'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:357,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:361,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:365,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:371,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:382,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:410,19'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:432,22'
              BranchSideFuncs:
                - NvCapGetIndexNumber
            - BranchSide:      'tpm/src/support/PropertyCap.c:437,22'
              BranchSideFuncs:
                - SessionCapGetLoadedNumber
            - BranchSide:      'tpm/src/support/PropertyCap.c:442,22'
              BranchSideFuncs:
                - SessionCapGetLoadedAvail
            - BranchSide:      'tpm/src/support/PropertyCap.c:447,22'
              BranchSideFuncs:
                - SessionCapGetActiveNumber
            - BranchSide:      'tpm/src/support/PropertyCap.c:452,22'
              BranchSideFuncs:
                - SessionCapGetActiveAvail
            - BranchSide:      'tpm/src/support/PropertyCap.c:457,22'
              BranchSideFuncs:
                - ObjectCapGetTransientAvail
            - BranchSide:      'tpm/src/support/PropertyCap.c:462,22'
              BranchSideFuncs:
                - NvCapGetPersistentNumber
            - BranchSide:      'tpm/src/support/PropertyCap.c:467,22'
              BranchSideFuncs:
                - NvCapGetPersistentAvail
            - BranchSide:      'tpm/src/support/PropertyCap.c:472,22'
              BranchSideFuncs:
                - NvCapGetCounterNumber
            - BranchSide:      'tpm/src/support/PropertyCap.c:477,22'
              BranchSideFuncs:
                - NvCapGetCounterAvail
            - BranchSide:      'tpm/src/support/PropertyCap.c:481,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:486,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:493,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:497,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:502,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:507,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:515,14'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:519,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:523,34'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:527,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:383,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:384,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:385,41'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:385,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:386,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:387,37'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:387,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:388,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:389,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:389,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:390,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:391,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:391,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:392,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:394,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:412,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:413,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:414,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:414,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:415,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:416,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:416,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:417,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:418,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:418,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:419,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:420,20'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:420,20'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:421,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:427,32'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/PropertyCap.c:84,22'
          Dst:             ByteArrayToUint32
        - Src:             'tpm/src/support/PropertyCap.c:88,22'
          Dst:             ByteArrayToUint32
        - Src:             'tpm/src/support/PropertyCap.c:93,22'
          Dst:             ByteArrayToUint32
        - Src:             'tpm/src/support/PropertyCap.c:432,22'
          Dst:             NvCapGetIndexNumber
        - Src:             'tpm/src/support/PropertyCap.c:437,22'
          Dst:             SessionCapGetLoadedNumber
        - Src:             'tpm/src/support/PropertyCap.c:442,22'
          Dst:             SessionCapGetLoadedAvail
        - Src:             'tpm/src/support/PropertyCap.c:447,22'
          Dst:             SessionCapGetActiveNumber
        - Src:             'tpm/src/support/PropertyCap.c:452,22'
          Dst:             SessionCapGetActiveAvail
        - Src:             'tpm/src/support/PropertyCap.c:457,22'
          Dst:             ObjectCapGetTransientAvail
        - Src:             'tpm/src/support/PropertyCap.c:462,22'
          Dst:             NvCapGetPersistentNumber
        - Src:             'tpm/src/support/PropertyCap.c:467,22'
          Dst:             NvCapGetPersistentAvail
        - Src:             'tpm/src/support/PropertyCap.c:472,22'
          Dst:             NvCapGetCounterNumber
        - Src:             'tpm/src/support/PropertyCap.c:477,22'
          Dst:             NvCapGetCounterAvail
    - functionName:    TPMCapGetProperties
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/support/PropertyCap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 596
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - property
        - count
        - propertyList
      BBCount:         28
      ICount:          172
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - TPMPropertyIsDefined
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/support/PropertyCap.c:556,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:557,15'
              BranchSideFuncs:
                - TPMPropertyIsDefined
            - BranchSide:      'tpm/src/support/PropertyCap.c:560,8'
              BranchSideFuncs:
                - TPMPropertyIsDefined
        - Branch String:   'tpm/src/support/PropertyCap.c:560,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:561,18'
              BranchSideFuncs:
                - TPMPropertyIsDefined
            - BranchSide:      'tpm/src/support/PropertyCap.c:564,8'
              BranchSideFuncs:
                - TPMPropertyIsDefined
        - Branch String:   'tpm/src/support/PropertyCap.c:564,8'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:565,16'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:568,19'
              BranchSideFuncs:
                - TPMPropertyIsDefined
        - Branch String:   'tpm/src/support/PropertyCap.c:571,5'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:575,12'
              BranchSideFuncs:
                - TPMPropertyIsDefined
            - BranchSide:      'tpm/src/support/PropertyCap.c:595,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/support/PropertyCap.c:575,26'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:575,31'
              BranchSideFuncs:
                - TPMPropertyIsDefined
            - BranchSide:      'tpm/src/support/PropertyCap.c:577,41'
              BranchSideFuncs:
                - TPMPropertyIsDefined
        - Branch String:   'tpm/src/support/PropertyCap.c:575,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:576,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/support/PropertyCap.c:577,41'
              BranchSideFuncs:
                - TPMPropertyIsDefined
        - Branch String:   'tpm/src/support/PropertyCap.c:577,12'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:579,16'
              BranchSideFuncs:
                - TPMPropertyIsDefined
            - BranchSide:      'tpm/src/support/PropertyCap.c:594,5'
              BranchSideFuncs:
                - TPMPropertyIsDefined
        - Branch String:   'tpm/src/support/PropertyCap.c:579,16'
          Branch Sides:
            - BranchSide:      'tpm/src/support/PropertyCap.c:582,83'
              BranchSideFuncs:
                - TPMPropertyIsDefined
            - BranchSide:      'tpm/src/support/PropertyCap.c:590,22'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/support/PropertyCap.c:577,12'
          Dst:             TPMPropertyIsDefined
    - functionName:    ASN1PushOID
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - OID
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ASN1PushBytes
      functionUses:    6
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:454,41'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:454,46'
              BranchSideFuncs:
                - ASN1PushBytes
            - BranchSide:      'tpm/src/X509/TpmASN1.c:458,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:454,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:456,30'
              BranchSideFuncs:
                - ASN1PushBytes
            - BranchSide:      'tpm/src/X509/TpmASN1.c:458,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:456,16'
          Dst:             ASN1PushBytes
    - functionName:    ASN1PushBytes
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - count
        - buffer
      BBCount:         26
      ICount:          126
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - MemoryCopy
      functionUses:    5
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:317,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:317,5'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/X509/TpmASN1.c:328,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:317,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:317,5'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/X509/TpmASN1.c:317,5'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/X509/TpmASN1.c:317,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:317,5'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/X509/TpmASN1.c:319,20'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/X509/TpmASN1.c:321,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:321,5'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/X509/TpmASN1.c:324,8'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/X509/TpmASN1.c:324,14'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:324,17'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/X509/TpmASN1.c:326,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:324,24'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:324,27'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/X509/TpmASN1.c:326,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:324,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:325,21'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/X509/TpmASN1.c:326,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:325,9'
          Dst:             MemoryCopy
    - functionName:    ASN1PushInteger
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 441
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - iLen
        - integer
      BBCount:         12
      ICount:          88
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ASN1PushByte
        - ASN1PushBytes
        - ASN1PushTagAndLength
      functionUses:    3
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:431,27'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:431,31'
              BranchSideFuncs:
                - ASN1PushBytes
                - ASN1PushTagAndLength
                - ASN1PushByte
            - BranchSide:      'tpm/src/X509/TpmASN1.c:431,5'
              BranchSideFuncs:
                - ASN1PushBytes
                - ASN1PushTagAndLength
                - ASN1PushByte
        - Branch String:   'tpm/src/X509/TpmASN1.c:431,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:432,16'
              BranchSideFuncs:
                - ASN1PushBytes
                - ASN1PushTagAndLength
                - ASN1PushByte
            - BranchSide:      'tpm/src/X509/TpmASN1.c:434,19'
              BranchSideFuncs:
                - ASN1PushBytes
                - ASN1PushTagAndLength
                - ASN1PushByte
        - Branch String:   'tpm/src/X509/TpmASN1.c:436,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:436,8'
              BranchSideFuncs:
                - ASN1PushByte
                - ASN1PushTagAndLength
            - BranchSide:      'tpm/src/X509/TpmASN1.c:437,37'
              BranchSideFuncs:
                - ASN1PushByte
                - ASN1PushTagAndLength
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:434,5'
          Dst:             ASN1PushBytes
        - Src:             'tpm/src/X509/TpmASN1.c:437,24'
          Dst:             ASN1PushByte
        - Src:             'tpm/src/X509/TpmASN1.c:440,13'
          Dst:             ASN1PushTagAndLength
    - functionName:    ASN1PushByte
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ctx
        - b
      BBCount:         7
      ICount:          59
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    11
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:296,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:298,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:303,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:299,12'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:300,40'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:301,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    ASN1PushTagAndLength
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 385
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - short
      constantsTouched: []
      argNames:
        - ctx
        - tag
        - length
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ASN1PushByte
        - ASN1PushLength
      functionUses:    4
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:385,12'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:385,12'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:385,36'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:383,13'
          Dst:             ASN1PushLength
        - Src:             'tpm/src/X509/TpmASN1.c:384,21'
          Dst:             ASN1PushByte
    - functionName:    ASN1PushLength
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 372
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ctx
        - len
      BBCount:         18
      ICount:          111
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - ASN1PushByte
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:353,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:353,5'
              BranchSideFuncs:
                - ASN1PushByte
                - ASN1PushByte
                - ASN1PushByte
                - ASN1PushByte
                - ASN1PushByte
            - BranchSide:      'tpm/src/X509/TpmASN1.c:354,8'
              BranchSideFuncs:
                - ASN1PushByte
                - ASN1PushByte
                - ASN1PushByte
                - ASN1PushByte
                - ASN1PushByte
        - Branch String:   'tpm/src/X509/TpmASN1.c:354,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:355,22'
              BranchSideFuncs:
                - ASN1PushByte
            - BranchSide:      'tpm/src/X509/TpmASN1.c:358,22'
              BranchSideFuncs:
                - ASN1PushByte
                - ASN1PushByte
                - ASN1PushByte
                - ASN1PushByte
        - Branch String:   'tpm/src/X509/TpmASN1.c:360,12'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:361,26'
              BranchSideFuncs:
                - ASN1PushByte
            - BranchSide:      'tpm/src/X509/TpmASN1.c:364,26'
              BranchSideFuncs:
                - ASN1PushByte
                - ASN1PushByte
        - Branch String:   'tpm/src/X509/TpmASN1.c:372,12'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:372,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:372,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:355,9'
          Dst:             ASN1PushByte
        - Src:             'tpm/src/X509/TpmASN1.c:358,9'
          Dst:             ASN1PushByte
        - Src:             'tpm/src/X509/TpmASN1.c:361,13'
          Dst:             ASN1PushByte
        - Src:             'tpm/src/X509/TpmASN1.c:364,13'
          Dst:             ASN1PushByte
        - Src:             'tpm/src/X509/TpmASN1.c:365,13'
          Dst:             ASN1PushByte
    - functionName:    ASN1PushUINT
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 416
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ctx
        - integer
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ASN1PushInteger
        - Uint32ToByteArray
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:415,5'
          Dst:             Uint32ToByteArray
        - Src:             'tpm/src/X509/TpmASN1.c:416,12'
          Dst:             ASN1PushInteger
    - functionName:    ASN1PushTaggedOctetString
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ctx
        - size
        - string
        - tag
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ASN1PushBytes
        - ASN1PushTagAndLength
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:397,5'
          Dst:             ASN1PushBytes
        - Src:             'tpm/src/X509/TpmASN1.c:400,13'
          Dst:             ASN1PushTagAndLength
    - functionName:    ASN1PushNull
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ASN1PushByte
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:339,5'
          Dst:             ASN1PushByte
        - Src:             'tpm/src/X509/TpmASN1.c:340,5'
          Dst:             ASN1PushByte
    - functionName:    ASN1EndEncapsulation
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ctx
        - tag
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ASN1EndMarshalContext
        - ASN1PushByte
        - ASN1PushTagAndLength
      functionUses:    16
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:287,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:287,8'
              BranchSideFuncs:
                - ASN1PushByte
                - ASN1PushTagAndLength
                - ASN1EndMarshalContext
            - BranchSide:      'tpm/src/X509/TpmASN1.c:288,22'
              BranchSideFuncs:
                - ASN1PushByte
                - ASN1PushTagAndLength
                - ASN1EndMarshalContext
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:288,9'
          Dst:             ASN1PushByte
        - Src:             'tpm/src/X509/TpmASN1.c:289,5'
          Dst:             ASN1PushTagAndLength
        - Src:             'tpm/src/X509/TpmASN1.c:290,12'
          Dst:             ASN1EndMarshalContext
    - functionName:    ASN1EndMarshalContext
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 272
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         12
      ICount:          101
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - MemoryCopy
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:265,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:265,5'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/X509/TpmASN1.c:266,16'
              BranchSideFuncs:
                - MemoryCopy
        - Branch String:   'tpm/src/X509/TpmASN1.c:268,27'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:268,31'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/X509/TpmASN1.c:268,27'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:268,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:268,8'
              BranchSideFuncs:
                - MemoryCopy
            - BranchSide:      'tpm/src/X509/TpmASN1.c:270,20'
              BranchSideFuncs:
                - MemoryCopy
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:265,5'
          Dst:             TpmFail
        - Src:             'tpm/src/X509/TpmASN1.c:270,9'
          Dst:             MemoryCopy
    - functionName:    ASN1StartMarshalContext
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         7
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    16
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:250,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:250,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:250,5'
              BranchSideFuncs:
                - TpmFail
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:250,5'
          Dst:             TpmFail
    - functionName:    ASN1InitialializeMarshalContext
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - length
        - buffer
      BBCount:         4
      ICount:          44
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:237,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:238,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:240,9'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    ASN1GetBitStringValue
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - val
      BBCount:         41
      ICount:          225
      EdgeCount:       51
      CyclomaticComplexity: 12
      functionsReached:
        - ASN1NextTag
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:152,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:152,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:153,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:153,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:153,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:155,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:160,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:160,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:183,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:160,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:160,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:160,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:160,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:160,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:162,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:162,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:166,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:169,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:166,9'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:166,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:167,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:169,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:174,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:178,8'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:174,9'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:174,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:175,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:178,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:179,25'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:180,12'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:151,14'
          Dst:             ASN1NextTag
    - functionName:    ASN1NextTag
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         13
      ICount:          77
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - ASN1DecodeLength
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:121,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:121,5'
              BranchSideFuncs:
                - ASN1DecodeLength
            - BranchSide:      'tpm/src/X509/TpmASN1.c:123,16'
              BranchSideFuncs:
                - ASN1DecodeLength
        - Branch String:   'tpm/src/X509/TpmASN1.c:125,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:125,5'
              BranchSideFuncs:
                - ASN1DecodeLength
            - BranchSide:      'tpm/src/X509/TpmASN1.c:127,29'
              BranchSideFuncs:
                - ASN1DecodeLength
      Callsites:
        - Src:             'tpm/src/X509/TpmASN1.c:127,12'
          Dst:             ASN1DecodeLength
    - functionName:    ASN1DecodeLength
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
      BBCount:         34
      ICount:          225
      EdgeCount:       42
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:74,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:74,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:75,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:78,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:82,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:100,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:82,9'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:82,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:105,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:82,9'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:82,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:83,12'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:83,12'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:87,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:93,17'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:89,13'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:89,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:91,22'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:93,17'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:94,21'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:97,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:102,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:102,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:105,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:102,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:102,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:103,12'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    ASN1UnmarshalContextInitialize
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/TpmASN1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - size
        - buffer
      BBCount:         11
      ICount:          57
      EdgeCount:       12
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/X509/TpmASN1.c:52,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:52,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:53,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/TpmASN1.c:53,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/TpmASN1.c:53,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/TpmASN1.c:54,19'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    X509PushAlgorithmIdentifierSequence
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - OID
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ASN1EndEncapsulation
        - ASN1PushNull
        - ASN1PushOID
        - ASN1StartMarshalContext
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/X509/X509_spt.c:281,5'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_spt.c:282,5'
          Dst:             ASN1PushNull
        - Src:             'tpm/src/X509/X509_spt.c:283,5'
          Dst:             ASN1PushOID
        - Src:             'tpm/src/X509/X509_spt.c:284,12'
          Dst:             ASN1EndEncapsulation
    - functionName:    X509AddPublicKey
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 267
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - object
      BBCount:         8
      ICount:          49
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - X509AddPublicECC
        - X509AddPublicRSA
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/X509/X509_spt.c:249,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:253,37'
              BranchSideFuncs:
                - X509AddPublicRSA
            - BranchSide:      'tpm/src/X509/X509_spt.c:257,37'
              BranchSideFuncs:
                - X509AddPublicECC
            - BranchSide:      'tpm/src/X509/X509_spt.c:264,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/X509/X509_spt.c:253,20'
          Dst:             X509AddPublicRSA
        - Src:             'tpm/src/X509/X509_spt.c:257,20'
          Dst:             X509AddPublicECC
    - functionName:    X509AddSigningAlgorithm
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - signKey
        - scheme
      BBCount:         8
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - X509AddSigningAlgorithmECC
        - X509AddSigningAlgorithmRSA
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/X509/X509_spt.c:218,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:222,47'
              BranchSideFuncs:
                - X509AddSigningAlgorithmRSA
            - BranchSide:      'tpm/src/X509/X509_spt.c:226,47'
              BranchSideFuncs:
                - X509AddSigningAlgorithmECC
            - BranchSide:      'tpm/src/X509/X509_spt.c:234,13'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/X509/X509_spt.c:222,20'
          Dst:             X509AddSigningAlgorithmRSA
        - Src:             'tpm/src/X509/X509_spt.c:226,20'
          Dst:             X509AddSigningAlgorithmECC
    - functionName:    X509ProcessExtensions
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
        - extension
      BBCount:         53
      ICount:          292
      EdgeCount:       72
      CyclomaticComplexity: 21
      functionsReached:
        - ASN1NextTag
        - ASN1UnmarshalContextInitialize
        - MemoryEqual
        - X509FindExtensionByOID
        - X509GetExtensionBits
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/X509/X509_spt.c:152,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:152,22'
              BranchSideFuncs:
                - ASN1NextTag
                - ASN1NextTag
                - X509FindExtensionByOID
                - X509FindExtensionByOID
                - X509GetExtensionBits
                - X509GetExtensionBits
                - MemoryEqual
            - BranchSide:      'tpm/src/X509/X509_spt.c:153,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:152,46'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:152,54'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:153,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:151,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:153,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:154,19'
              BranchSideFuncs:
                - ASN1NextTag
                - X509FindExtensionByOID
                - X509FindExtensionByOID
                - X509GetExtensionBits
                - X509GetExtensionBits
                - MemoryEqual
        - Branch String:   'tpm/src/X509/X509_spt.c:154,43'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:154,51'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:155,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:154,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:155,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:158,8'
              BranchSideFuncs:
                - X509FindExtensionByOID
                - X509FindExtensionByOID
                - X509GetExtensionBits
                - X509GetExtensionBits
                - MemoryEqual
        - Branch String:   'tpm/src/X509/X509_spt.c:159,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:159,11'
              BranchSideFuncs:
                - X509GetExtensionBits
                - X509FindExtensionByOID
                - X509GetExtensionBits
                - MemoryEqual
            - BranchSide:      'tpm/src/X509/X509_spt.c:169,26'
              BranchSideFuncs:
                - X509FindExtensionByOID
                - X509GetExtensionBits
        - Branch String:   'tpm/src/X509/X509_spt.c:158,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:165,13'
              BranchSideFuncs:
                - MemoryEqual
                - X509FindExtensionByOID
                - X509GetExtensionBits
            - BranchSide:      'tpm/src/X509/X509_spt.c:169,26'
              BranchSideFuncs:
                - X509FindExtensionByOID
                - X509GetExtensionBits
        - Branch String:   'tpm/src/X509/X509_spt.c:165,12'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:166,13'
              BranchSideFuncs:
                - X509FindExtensionByOID
                - X509GetExtensionBits
            - BranchSide:      'tpm/src/X509/X509_spt.c:167,5'
              BranchSideFuncs:
                - X509FindExtensionByOID
                - X509GetExtensionBits
        - Branch String:   'tpm/src/X509/X509_spt.c:169,13'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:170,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:174,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:174,11'
              BranchSideFuncs:
                - X509GetExtensionBits
            - BranchSide:      'tpm/src/X509/X509_spt.c:202,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:173,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:183,28'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:202,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:187,19'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:187,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:187,19'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:190,22'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:190,26'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:190,22'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:193,23'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:193,27'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:193,23'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:196,25'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:196,29'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:196,25'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:197,20'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:197,23'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:198,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:197,34'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:197,37'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:198,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:197,49'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:197,52'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:198,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:197,12'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:198,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:199,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/X509/X509_spt.c:151,9'
          Dst:             ASN1UnmarshalContextInitialize
        - Src:             'tpm/src/X509/X509_spt.c:152,22'
          Dst:             ASN1NextTag
        - Src:             'tpm/src/X509/X509_spt.c:154,19'
          Dst:             ASN1NextTag
        - Src:             'tpm/src/X509/X509_spt.c:158,8'
          Dst:             X509FindExtensionByOID
        - Src:             'tpm/src/X509/X509_spt.c:159,11'
          Dst:             X509GetExtensionBits
        - Src:             'tpm/src/X509/X509_spt.c:165,13'
          Dst:             MemoryEqual
        - Src:             'tpm/src/X509/X509_spt.c:173,8'
          Dst:             X509FindExtensionByOID
        - Src:             'tpm/src/X509/X509_spt.c:174,11'
          Dst:             X509GetExtensionBits
    - functionName:    X509FindExtensionByOID
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctxIn
        - ctx
        - OID
      BBCount:         36
      ICount:          200
      EdgeCount:       44
      CyclomaticComplexity: 10
      functionsReached:
        - ASN1NextTag
        - MemoryEqual
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/X509/X509_spt.c:68,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:68,5'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
            - BranchSide:      'tpm/src/X509/X509_spt.c:71,8'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
        - Branch String:   'tpm/src/X509/X509_spt.c:71,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:72,15'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
            - BranchSide:      'tpm/src/X509/X509_spt.c:75,13'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
        - Branch String:   'tpm/src/X509/X509_spt.c:78,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:80,9'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
            - BranchSide:      'tpm/src/X509/X509_spt.c:99,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:80,9'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:80,9'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
            - BranchSide:      'tpm/src/X509/X509_spt.c:83,9'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
        - Branch String:   'tpm/src/X509/X509_spt.c:83,9'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:83,9'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
            - BranchSide:      'tpm/src/X509/X509_spt.c:85,12'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
        - Branch String:   'tpm/src/X509/X509_spt.c:85,12'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:88,28'
              BranchSideFuncs:
                - MemoryEqual
                - ASN1NextTag
            - BranchSide:      'tpm/src/X509/X509_spt.c:98,5'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
        - Branch String:   'tpm/src/X509/X509_spt.c:88,16'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:92,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:97,9'
              BranchSideFuncs:
                - ASN1NextTag
                - MemoryEqual
        - Branch String:   'tpm/src/X509/X509_spt.c:99,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:99,5'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_spt.c:100,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/X509/X509_spt.c:68,5'
          Dst:             TpmFail
        - Src:             'tpm/src/X509/X509_spt.c:80,9'
          Dst:             ASN1NextTag
        - Src:             'tpm/src/X509/X509_spt.c:88,16'
          Dst:             MemoryEqual
    - functionName:    X509GetExtensionBits
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - value
      BBCount:         12
      ICount:          84
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ASN1GetBitStringValue
        - ASN1NextTag
      functionUses:    2
      BranchProfiles:
        - Branch String:   'tpm/src/X509/X509_spt.c:118,45'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:118,49'
              BranchSideFuncs:
                - ASN1NextTag
                - ASN1GetBitStringValue
            - BranchSide:      'tpm/src/X509/X509_spt.c:118,5'
              BranchSideFuncs:
                - ASN1NextTag
                - ASN1GetBitStringValue
        - Branch String:   'tpm/src/X509/X509_spt.c:118,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:121,12'
              BranchSideFuncs:
                - ASN1NextTag
                - ASN1GetBitStringValue
            - BranchSide:      'tpm/src/X509/X509_spt.c:127,5'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_spt.c:121,12'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_spt.c:123,42'
              BranchSideFuncs:
                - ASN1GetBitStringValue
            - BranchSide:      'tpm/src/X509/X509_spt.c:125,24'
              BranchSideFuncs:
                - ASN1NextTag
                - ASN1GetBitStringValue
      Callsites:
        - Src:             'tpm/src/X509/X509_spt.c:118,22'
          Dst:             ASN1NextTag
        - Src:             'tpm/src/X509/X509_spt.c:123,20'
          Dst:             ASN1GetBitStringValue
    - functionName:    IsSigningObject
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Attestation/Attest_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
      BBCount:         7
      ICount:          41
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    9
      BranchProfiles:
        - Branch String:   'tpm/src/command/Attestation/Attest_spt.c:201,13'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:201,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:201,18'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/command/Attestation/Attest_spt.c:202,18'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:201,13'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:202,21'
              BranchSideFuncs: []
      Callsites:       []
    - functionName:    SignAttestInfo
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Attestation/Attest_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signKey
        - scheme
        - certifyInfo
        - qualifyingData
        - attest
        - signature
      BBCount:         12
      ICount:          124
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashBlock
        - CryptHashEnd2B
        - CryptHashStart
        - CryptSign
        - NvClearOrderly
        - TPMS_ATTEST_Marshal
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/command/Attestation/Attest_spt.c:148,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:150,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:157,19'
              BranchSideFuncs:
                - CryptHashBlock
                - CryptSign
                - NvClearOrderly
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
        - Branch String:   'tpm/src/command/Attestation/Attest_spt.c:167,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:169,40'
              BranchSideFuncs:
                - CryptHashStart
                - CryptDigestUpdate2B
                - CryptDigestUpdate2B
                - CryptHashEnd2B
                - CryptSign
                - NvClearOrderly
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:176,28'
              BranchSideFuncs:
                - CryptSign
                - NvClearOrderly
      Callsites:
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:146,22'
          Dst:             TPMS_ATTEST_Marshal
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:160,25'
          Dst:             CryptHashBlock
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:169,13'
          Dst:             CryptHashStart
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:170,13'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:171,13'
          Dst:             CryptDigestUpdate2B
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:172,13'
          Dst:             CryptHashEnd2B
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:176,18'
          Dst:             CryptSign
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:184,22'
          Dst:             NvClearOrderly
    - functionName:    FillInAttestInfo
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/command/Attestation/Attest_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signHandle
        - scheme
        - data
        - attest
      BBCount:         20
      ICount:          187
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - CryptIsSchemeAnonymous
        - CryptKDFa
        - HandleToObject
        - TimeFillInfo
        - Uint32ToByteArray
      functionUses:    7
      BranchProfiles:
        - Branch String:   'tpm/src/command/Attestation/Attest_spt.c:56,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:62,20'
              BranchSideFuncs:
                - Uint32ToByteArray
                - TimeFillInfo
                - CryptKDFa
                - CryptIsSchemeAnonymous
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:70,35'
              BranchSideFuncs:
                - CryptIsSchemeAnonymous
                - TimeFillInfo
                - CryptKDFa
                - CryptIsSchemeAnonymous
        - Branch String:   'tpm/src/command/Attestation/Attest_spt.c:70,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:71,13'
              BranchSideFuncs:
                - TimeFillInfo
                - CryptKDFa
                - CryptIsSchemeAnonymous
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:73,13'
              BranchSideFuncs:
                - TimeFillInfo
                - CryptKDFa
                - CryptIsSchemeAnonymous
        - Branch String:   'tpm/src/command/Attestation/Attest_spt.c:85,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:85,13'
              BranchSideFuncs:
                - CryptKDFa
                - CryptIsSchemeAnonymous
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:93,19'
              BranchSideFuncs:
                - CryptKDFa
                - CryptIsSchemeAnonymous
        - Branch String:   'tpm/src/command/Attestation/Attest_spt.c:86,12'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:86,16'
              BranchSideFuncs:
                - CryptIsSchemeAnonymous
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:106,31'
              BranchSideFuncs:
                - CryptIsSchemeAnonymous
        - Branch String:   'tpm/src/command/Attestation/Attest_spt.c:84,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:93,19'
              BranchSideFuncs:
                - CryptIsSchemeAnonymous
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:106,31'
              BranchSideFuncs:
                - CryptIsSchemeAnonymous
        - Branch String:   'tpm/src/command/Attestation/Attest_spt.c:106,8'
          Branch Sides:
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:107,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/command/Attestation/Attest_spt.c:112,9'
              BranchSideFuncs: []
      Callsites:
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:51,26'
          Dst:             HandleToObject
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:64,9'
          Dst:             Uint32ToByteArray
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:70,12'
          Dst:             CryptIsSchemeAnonymous
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:76,5'
          Dst:             TimeFillInfo
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:91,9'
          Dst:             CryptKDFa
        - Src:             'tpm/src/command/Attestation/Attest_spt.c:106,8'
          Dst:             CryptIsSchemeAnonymous
    - functionName:    X509AddPublicECC
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_ECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
        - ctx
      BBCount:         11
      ICount:          78
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ASN1EndEncapsulation
        - ASN1PushOID
        - ASN1StartMarshalContext
        - CryptEccGetOID
        - X509PushPoint
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/X509/X509_ECC.c:114,27'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_ECC.c:114,32'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_ECC.c:115,9'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_ECC.c:114,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_ECC.c:115,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_ECC.c:126,8'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - X509PushPoint
                - ASN1StartMarshalContext
                - ASN1PushOID
                - ASN1PushOID
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
        - Branch String:   'tpm/src/X509/X509_ECC.c:126,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_ECC.c:127,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_ECC.c:128,29'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - X509PushPoint
                - ASN1StartMarshalContext
                - ASN1PushOID
                - ASN1PushOID
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
      Callsites:
        - Src:             'tpm/src/X509/X509_ECC.c:113,9'
          Dst:             CryptEccGetOID
        - Src:             'tpm/src/X509/X509_ECC.c:128,5'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_ECC.c:130,9'
          Dst:             X509PushPoint
        - Src:             'tpm/src/X509/X509_ECC.c:131,9'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_ECC.c:133,13'
          Dst:             ASN1PushOID
        - Src:             'tpm/src/X509/X509_ECC.c:134,13'
          Dst:             ASN1PushOID
        - Src:             'tpm/src/X509/X509_ECC.c:136,9'
          Dst:             ASN1EndEncapsulation
        - Src:             'tpm/src/X509/X509_ECC.c:138,12'
          Dst:             ASN1EndEncapsulation
    - functionName:    X509PushPoint
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_ECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ctx
        - p
      BBCount:         3
      ICount:          43
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ASN1EndEncapsulation
        - ASN1PushByte
        - ASN1PushBytes
        - ASN1StartMarshalContext
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'tpm/src/X509/X509_ECC.c:56,5'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_ECC.c:58,9'
          Dst:             ASN1PushBytes
        - Src:             'tpm/src/X509/X509_ECC.c:59,9'
          Dst:             ASN1PushBytes
        - Src:             'tpm/src/X509/X509_ECC.c:60,9'
          Dst:             ASN1PushByte
        - Src:             'tpm/src/X509/X509_ECC.c:62,12'
          Dst:             ASN1EndEncapsulation
    - functionName:    X509AddSigningAlgorithmECC
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_ECC.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signKey
        - scheme
        - ctx
      BBCount:         13
      ICount:          97
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - ASN1EndEncapsulation
        - ASN1PushOID
        - ASN1StartMarshalContext
        - CryptGetHashDef
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/X509/X509_ECC.c:78,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_ECC.c:79,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_ECC.c:81,12'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - ASN1PushOID
                - ASN1EndEncapsulation
        - Branch String:   'tpm/src/X509/X509_ECC.c:81,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_ECC.c:86,17'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - ASN1PushOID
                - ASN1EndEncapsulation
            - BranchSide:      'tpm/src/X509/X509_ECC.c:97,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_ECC.c:86,16'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_ECC.c:87,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_ECC.c:90,17'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - ASN1PushOID
                - ASN1EndEncapsulation
        - Branch String:   'tpm/src/X509/X509_ECC.c:90,16'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_ECC.c:91,17'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - ASN1PushOID
                - ASN1EndEncapsulation
            - BranchSide:      'tpm/src/X509/X509_ECC.c:92,37'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - ASN1PushOID
                - ASN1EndEncapsulation
      Callsites:
        - Src:             'tpm/src/X509/X509_ECC.c:74,25'
          Dst:             CryptGetHashDef
        - Src:             'tpm/src/X509/X509_ECC.c:92,13'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_ECC.c:93,13'
          Dst:             ASN1PushOID
        - Src:             'tpm/src/X509/X509_ECC.c:94,20'
          Dst:             ASN1EndEncapsulation
    - functionName:    X509AddPublicRSA
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_RSA.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - object
        - ctx
      BBCount:         9
      ICount:          79
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ASN1EndEncapsulation
        - ASN1PushInteger
        - ASN1PushUINT
        - ASN1StartMarshalContext
        - X509PushAlgorithmIdentifierSequence
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/X509/X509_RSA.c:200,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_RSA.c:201,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_RSA.c:202,29'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - ASN1PushUINT
                - ASN1PushInteger
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - X509PushAlgorithmIdentifierSequence
                - ASN1EndEncapsulation
        - Branch String:   'tpm/src/X509/X509_RSA.c:207,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_RSA.c:208,13'
              BranchSideFuncs:
                - ASN1PushUINT
                - ASN1PushInteger
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - X509PushAlgorithmIdentifierSequence
                - ASN1EndEncapsulation
            - BranchSide:      'tpm/src/X509/X509_RSA.c:212,18'
              BranchSideFuncs:
                - ASN1PushUINT
                - ASN1PushInteger
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - X509PushAlgorithmIdentifierSequence
                - ASN1EndEncapsulation
      Callsites:
        - Src:             'tpm/src/X509/X509_RSA.c:202,5'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_RSA.c:203,5'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_RSA.c:204,5'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_RSA.c:212,5'
          Dst:             ASN1PushUINT
        - Src:             'tpm/src/X509/X509_RSA.c:214,5'
          Dst:             ASN1PushInteger
        - Src:             'tpm/src/X509/X509_RSA.c:218,5'
          Dst:             ASN1EndEncapsulation
        - Src:             'tpm/src/X509/X509_RSA.c:221,5'
          Dst:             ASN1EndEncapsulation
        - Src:             'tpm/src/X509/X509_RSA.c:225,5'
          Dst:             X509PushAlgorithmIdentifierSequence
        - Src:             'tpm/src/X509/X509_RSA.c:227,12'
          Dst:             ASN1EndEncapsulation
    - functionName:    X509AddSigningAlgorithmRSA
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/tpm/src/X509/X509_RSA.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - signKey
        - scheme
        - ctx
      BBCount:         18
      ICount:          175
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - ASN1EndEncapsulation
        - ASN1PushOID
        - ASN1PushUINT
        - ASN1StartMarshalContext
        - CryptGetHashDef
        - CryptRsaPssSaltSize
        - X509PushAlgorithmIdentifierSequence
      functionUses:    1
      BranchProfiles:
        - Branch String:   'tpm/src/X509/X509_RSA.c:62,8'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_RSA.c:63,9'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_RSA.c:64,12'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - CryptRsaPssSaltSize
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - X509PushAlgorithmIdentifierSequence
                - ASN1PushOID
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - ASN1StartMarshalContext
                - X509PushAlgorithmIdentifierSequence
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - ASN1PushOID
                - ASN1EndEncapsulation
                - X509PushAlgorithmIdentifierSequence
                - X509PushAlgorithmIdentifierSequence
        - Branch String:   'tpm/src/X509/X509_RSA.c:64,5'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_RSA.c:70,16'
              BranchSideFuncs:
                - X509PushAlgorithmIdentifierSequence
            - BranchSide:      'tpm/src/X509/X509_RSA.c:78,16'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - CryptRsaPssSaltSize
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - X509PushAlgorithmIdentifierSequence
                - ASN1PushOID
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - ASN1StartMarshalContext
                - X509PushAlgorithmIdentifierSequence
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - ASN1PushOID
                - ASN1EndEncapsulation
                - X509PushAlgorithmIdentifierSequence
            - BranchSide:      'tpm/src/X509/X509_RSA.c:171,13'
              BranchSideFuncs: []
        - Branch String:   'tpm/src/X509/X509_RSA.c:70,16'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_RSA.c:71,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_RSA.c:72,16'
              BranchSideFuncs:
                - X509PushAlgorithmIdentifierSequence
        - Branch String:   'tpm/src/X509/X509_RSA.c:72,16'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_RSA.c:73,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_RSA.c:74,56'
              BranchSideFuncs:
                - X509PushAlgorithmIdentifierSequence
        - Branch String:   'tpm/src/X509/X509_RSA.c:78,16'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_RSA.c:79,17'
              BranchSideFuncs: []
            - BranchSide:      'tpm/src/X509/X509_RSA.c:83,16'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - CryptRsaPssSaltSize
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - X509PushAlgorithmIdentifierSequence
                - ASN1PushOID
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - ASN1StartMarshalContext
                - X509PushAlgorithmIdentifierSequence
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - ASN1PushOID
                - ASN1EndEncapsulation
                - X509PushAlgorithmIdentifierSequence
        - Branch String:   'tpm/src/X509/X509_RSA.c:83,16'
          Branch Sides:
            - BranchSide:      'tpm/src/X509/X509_RSA.c:85,60'
              BranchSideFuncs:
                - X509PushAlgorithmIdentifierSequence
            - BranchSide:      'tpm/src/X509/X509_RSA.c:108,41'
              BranchSideFuncs:
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - CryptRsaPssSaltSize
                - ASN1PushUINT
                - ASN1EndEncapsulation
                - ASN1StartMarshalContext
                - ASN1StartMarshalContext
                - X509PushAlgorithmIdentifierSequence
                - ASN1PushOID
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - ASN1StartMarshalContext
                - X509PushAlgorithmIdentifierSequence
                - ASN1EndEncapsulation
                - ASN1EndEncapsulation
                - ASN1PushOID
                - ASN1EndEncapsulation
      Callsites:
        - Src:             'tpm/src/X509/X509_RSA.c:58,26'
          Dst:             CryptGetHashDef
        - Src:             'tpm/src/X509/X509_RSA.c:74,20'
          Dst:             X509PushAlgorithmIdentifierSequence
        - Src:             'tpm/src/X509/X509_RSA.c:85,24'
          Dst:             X509PushAlgorithmIdentifierSequence
        - Src:             'tpm/src/X509/X509_RSA.c:108,17'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_RSA.c:110,21'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_RSA.c:114,25'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_RSA.c:116,46'
          Dst:             CryptRsaPssSaltSize
        - Src:             'tpm/src/X509/X509_RSA.c:119,29'
          Dst:             ASN1PushUINT
        - Src:             'tpm/src/X509/X509_RSA.c:121,25'
          Dst:             ASN1EndEncapsulation
        - Src:             'tpm/src/X509/X509_RSA.c:130,25'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_RSA.c:132,29'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_RSA.c:137,33'
          Dst:             X509PushAlgorithmIdentifierSequence
        - Src:             'tpm/src/X509/X509_RSA.c:140,33'
          Dst:             ASN1PushOID
        - Src:             'tpm/src/X509/X509_RSA.c:143,29'
          Dst:             ASN1EndEncapsulation
        - Src:             'tpm/src/X509/X509_RSA.c:146,25'
          Dst:             ASN1EndEncapsulation
        - Src:             'tpm/src/X509/X509_RSA.c:154,25'
          Dst:             ASN1StartMarshalContext
        - Src:             'tpm/src/X509/X509_RSA.c:156,29'
          Dst:             X509PushAlgorithmIdentifierSequence
        - Src:             'tpm/src/X509/X509_RSA.c:158,25'
          Dst:             ASN1EndEncapsulation
        - Src:             'tpm/src/X509/X509_RSA.c:161,21'
          Dst:             ASN1EndEncapsulation
        - Src:             'tpm/src/X509/X509_RSA.c:165,21'
          Dst:             ASN1PushOID
        - Src:             'tpm/src/X509/X509_RSA.c:168,24'
          Dst:             ASN1EndEncapsulation
    - functionName:    _plat__ClearCancel
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Cancel.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__SetCancel
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Cancel.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__IsCanceled
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Cancel.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    DebugDumpBuffer
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/DebugHelpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - size
        - buf
        - identifier
      BBCount:         24
      ICount:          120
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - fclose
        - fileOpen
        - fprintf
      functionUses:    3
      BranchProfiles:
        - Branch String:   'Platform/src/DebugHelpers.c:102,8'
          Branch Sides:
            - BranchSide:      'Platform/src/DebugHelpers.c:103,9'
              BranchSideFuncs:
                - fclose
                - fprintf
                - fprintf
                - fprintf
                - fprintf
            - BranchSide:      'Platform/src/DebugHelpers.c:104,8'
              BranchSideFuncs:
                - fclose
                - fprintf
                - fprintf
                - fprintf
                - fprintf
        - Branch String:   'Platform/src/DebugHelpers.c:104,8'
          Branch Sides:
            - BranchSide:      'Platform/src/DebugHelpers.c:105,17'
              BranchSideFuncs:
                - fprintf
                - fclose
                - fprintf
                - fprintf
                - fprintf
            - BranchSide:      'Platform/src/DebugHelpers.c:106,8'
              BranchSideFuncs:
                - fclose
                - fprintf
                - fprintf
                - fprintf
        - Branch String:   'Platform/src/DebugHelpers.c:106,8'
          Branch Sides:
            - BranchSide:      'Platform/src/DebugHelpers.c:108,15'
              BranchSideFuncs:
                - fclose
                - fprintf
                - fprintf
                - fprintf
            - BranchSide:      'Platform/src/DebugHelpers.c:117,12'
              BranchSideFuncs:
                - fclose
        - Branch String:   'Platform/src/DebugHelpers.c:108,9'
          Branch Sides:
            - BranchSide:      'Platform/src/DebugHelpers.c:110,18'
              BranchSideFuncs:
                - fprintf
                - fclose
                - fprintf
                - fprintf
            - BranchSide:      'Platform/src/DebugHelpers.c:114,13'
              BranchSideFuncs:
                - fclose
                - fprintf
        - Branch String:   'Platform/src/DebugHelpers.c:110,32'
          Branch Sides:
            - BranchSide:      'Platform/src/DebugHelpers.c:110,36'
              BranchSideFuncs:
                - fprintf
                - fclose
                - fprintf
                - fprintf
            - BranchSide:      'Platform/src/DebugHelpers.c:112,21'
              BranchSideFuncs:
                - fprintf
                - fclose
                - fprintf
                - fprintf
        - Branch String:   'Platform/src/DebugHelpers.c:110,16'
          Branch Sides:
            - BranchSide:      'Platform/src/DebugHelpers.c:111,25'
              BranchSideFuncs:
                - fprintf
                - fprintf
                - fclose
                - fprintf
            - BranchSide:      'Platform/src/DebugHelpers.c:112,21'
              BranchSideFuncs:
                - fprintf
                - fclose
                - fprintf
                - fprintf
        - Branch String:   'Platform/src/DebugHelpers.c:114,12'
          Branch Sides:
            - BranchSide:      'Platform/src/DebugHelpers.c:115,21'
              BranchSideFuncs:
                - fprintf
                - fclose
            - BranchSide:      'Platform/src/DebugHelpers.c:116,5'
              BranchSideFuncs:
                - fclose
      Callsites:
        - Src:             'Platform/src/DebugHelpers.c:101,15'
          Dst:             fileOpen
        - Src:             'Platform/src/DebugHelpers.c:105,9'
          Dst:             fprintf
        - Src:             'Platform/src/DebugHelpers.c:111,17'
          Dst:             fprintf
        - Src:             'Platform/src/DebugHelpers.c:112,13'
          Dst:             fprintf
        - Src:             'Platform/src/DebugHelpers.c:115,13'
          Dst:             fprintf
        - Src:             'Platform/src/DebugHelpers.c:117,5'
          Dst:             fclose
    - functionName:    fileOpen
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/DebugHelpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - fn
        - mode
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fopen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Platform/src/DebugHelpers.c:60,9'
          Dst:             fopen
    - functionName:    DebugFileInit
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/DebugHelpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ctime
        - fclose
        - fileOpen
        - fprintf
        - time
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Platform/src/DebugHelpers.c:73,12'
          Branch Sides:
            - BranchSide:      'Platform/src/DebugHelpers.c:73,12'
              BranchSideFuncs:
                - time
                - ctime
                - fileOpen
                - fprintf
                - fclose
            - BranchSide:      'Platform/src/DebugHelpers.c:73,12'
              BranchSideFuncs:
                - time
                - ctime
                - fileOpen
                - fprintf
                - fclose
        - Branch String:   'Platform/src/DebugHelpers.c:86,8'
          Branch Sides:
            - BranchSide:      'Platform/src/DebugHelpers.c:89,17'
              BranchSideFuncs:
                - fprintf
                - fclose
            - BranchSide:      'Platform/src/DebugHelpers.c:93,5'
              BranchSideFuncs: []
      Callsites:
        - Src:             'Platform/src/DebugHelpers.c:74,16'
          Dst:             time
        - Src:             'Platform/src/DebugHelpers.c:82,18'
          Dst:             ctime
        - Src:             'Platform/src/DebugHelpers.c:85,9'
          Dst:             fileOpen
        - Src:             'Platform/src/DebugHelpers.c:89,9'
          Dst:             fprintf
        - Src:             'Platform/src/DebugHelpers.c:90,9'
          Dst:             fclose
    - functionName:    time
      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:    ctime
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rand32
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Entropy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - rand
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Platform/src/Entropy.c:67,14'
          Branch Sides:
            - BranchSide:      'Platform/src/Entropy.c:67,14'
              BranchSideFuncs:
                - rand
                - rand
            - BranchSide:      'Platform/src/Entropy.c:67,23'
              BranchSideFuncs:
                - rand
                - rand
      Callsites:
        - Src:             'Platform/src/Entropy.c:67,23'
          Dst:             rand
        - Src:             'Platform/src/Entropy.c:79,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/ms-tpm-20-ref/TPMCmd/Platform/src/Entropy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - entropy
        - amount
      BBCount:         12
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _plat__RealTime
        - getpid
        - rand32
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Platform/src/Entropy.c:99,8'
          Branch Sides:
            - BranchSide:      'Platform/src/Entropy.c:118,25'
              BranchSideFuncs:
                - _plat__RealTime
                - getpid
                - srand
                - rand32
            - BranchSide:      'Platform/src/Entropy.c:125,18'
              BranchSideFuncs:
                - rand32
                - _plat__RealTime
        - Branch String:   'Platform/src/Entropy.c:126,12'
          Branch Sides:
            - BranchSide:      'Platform/src/Entropy.c:128,17'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Entropy.c:132,27'
              BranchSideFuncs:
                - _plat__RealTime
      Callsites:
        - Src:             'Platform/src/Entropy.c:118,25'
          Dst:             _plat__RealTime
        - Src:             'Platform/src/Entropy.c:118,45'
          Dst:             getpid
        - Src:             'Platform/src/Entropy.c:118,9'
          Dst:             srand
        - Src:             'Platform/src/Entropy.c:120,23'
          Dst:             rand32
        - Src:             'Platform/src/Entropy.c:125,18'
          Dst:             rand32
        - Src:             'Platform/src/Entropy.c:140,33'
          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:    _plat__Signal_PhysicalPresenceOff
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PPPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__Signal_PhysicalPresenceOn
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PPPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__PhysicalPresenceAsserted
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/PPPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__GetUnique
      functionSourceFile: '/src/ms-tpm-20-ref/TPMCmd/Platform/src/Unique.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - which
        - bSize
        - b
      BBCount:         21
      ICount:          128
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Platform/src/Unique.c:65,8'
          Branch Sides:
            - BranchSide:      'Platform/src/Unique.c:67,20'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Unique.c:75,14'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/Unique.c:67,36'
          Branch Sides:
            - BranchSide:      'Platform/src/Unique.c:67,39'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Unique.c:67,9'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/Unique.c:67,9'
          Branch Sides:
            - BranchSide:      'Platform/src/Unique.c:69,25'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Unique.c:71,5'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/Unique.c:75,17'
          Branch Sides:
            - BranchSide:      'Platform/src/Unique.c:75,35'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Unique.c:75,50'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/Unique.c:76,36'
          Branch Sides:
            - BranchSide:      'Platform/src/Unique.c:76,39'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Unique.c:76,9'
              BranchSideFuncs: []
        - Branch String:   'Platform/src/Unique.c:76,9'
          Branch Sides:
            - BranchSide:      'Platform/src/Unique.c:0,0'
              BranchSideFuncs: []
            - BranchSide:      'Platform/src/Unique.c:78,25'
              BranchSideFuncs: []
      Callsites:       []
...
