---
Fuzzer filename: '/src/FreeRDP/winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    fuzz_consume_one
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 16
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          162
      EdgeCount:       38
      CyclomaticComplexity: 8
      functionsReached:
        - WinPrAsn1DecReadBoolean
        - WinPrAsn1DecReadEnumerated
        - WinPrAsn1DecReadIA5String
        - WinPrAsn1DecReadInteger
        - WinPrAsn1DecReadNull
        - WinPrAsn1DecReadOID
        - WinPrAsn1DecReadOctetString
        - WinPrAsn1DecReadTagLenValue
        - WinPrAsn1DecReadUtcTime
        - WinPrAsn1Decoder_init
        - WinPrAsn1FreeOID
        - WinPrAsn1FreeOctetString
        - fuzz_walk_sequence
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:27,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:17,27'
          Dst:             WinPrAsn1Decoder_init
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:24,6'
          Dst:             WinPrAsn1DecReadTagLenValue
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:32,10'
          Dst:             WinPrAsn1DecReadBoolean
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:38,10'
          Dst:             WinPrAsn1DecReadInteger
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:44,8'
          Dst:             WinPrAsn1DecReadOctetString
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:45,5'
          Dst:             WinPrAsn1FreeOctetString
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:51,8'
          Dst:             WinPrAsn1DecReadOID
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:52,5'
          Dst:             WinPrAsn1FreeOID
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:58,10'
          Dst:             WinPrAsn1DecReadEnumerated
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:64,10'
          Dst:             WinPrAsn1DecReadUtcTime
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:70,10'
          Dst:             WinPrAsn1DecReadIA5String
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:75,10'
          Dst:             WinPrAsn1DecReadNull
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:82,3'
          Dst:             fuzz_walk_sequence
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:84,3'
          Dst:             fuzz_walk_sequence
    - functionName:    WinPrAsn1Decoder_init
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/asn1.h'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/asn1.h:79,25'
          Dst:             Stream_Init
    - functionName:    fuzz_walk_sequence
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          56
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - WinPrAsn1DecPeekTag
        - fuzz_consume_one
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:96,8'
          Dst:             WinPrAsn1DecPeekTag
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:99,3'
          Dst:             fuzz_consume_one
    - functionName:    Stream_Init
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c'
      linkageType:     externalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          84
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - WLog_GetRoot
        - WLog_SetLogLevel
        - WinPrAsn1DecReadSequence
        - WinPrAsn1Decoder_InitMem
        - WinPrAsn1Decoder_init
        - fuzz_walk_sequence
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:109,26'
          Dst:             WLog_GetRoot
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:109,9'
          Dst:             WLog_SetLogLevel
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:117,30'
          Dst:             WinPrAsn1Decoder_init
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:118,3'
          Dst:             WinPrAsn1Decoder_InitMem
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:119,3'
          Dst:             fuzz_walk_sequence
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:123,30'
          Dst:             WinPrAsn1Decoder_init
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:124,3'
          Dst:             WinPrAsn1Decoder_InitMem
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:125,3'
          Dst:             fuzz_walk_sequence
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:129,30'
          Dst:             WinPrAsn1Decoder_init
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:130,31'
          Dst:             WinPrAsn1Decoder_init
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:132,3'
          Dst:             WinPrAsn1Decoder_InitMem
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:133,7'
          Dst:             WinPrAsn1DecReadSequence
        - Src:             'winpr/libwinpr/utils/test/TestFuzzCredSSP_Asn1.c:134,4'
          Dst:             fuzz_walk_sequence
    - functionName:    WLog_ParseName
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 854
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          135
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _strdup
        - calloc
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:819,15'
          Dst:             strchr
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:825,10'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:831,23'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:844,14'
          Dst:             strchr
    - functionName:    strchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    calloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    77
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_Unlock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - LeaveCriticalSection
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:108,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:109,2'
          Dst:             LeaveCriticalSection
    - functionName:    WLog_Lock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - EnterCriticalSection
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:102,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:103,2'
          Dst:             EnterCriticalSection
    - functionName:    WLog_AddChild
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 962
      functionLinenumberEnd: 1002
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          123
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - WLog_Lock
        - WLog_Unlock
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:965,2'
          Dst:             WLog_Lock
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:979,16'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:998,2'
          Dst:             WLog_Unlock
    - functionName:    realloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_FindChild
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1006
      functionLinenumberEnd: 1028
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          79
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Lock
        - WLog_Unlock
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1012,2'
          Dst:             WLog_Lock
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1018,7'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1025,2'
          Dst:             WLog_Unlock
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_Uninit_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          61
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:91,3'
          Dst:             WLog_Free
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:94,2'
          Dst:             WLog_Free
    - functionName:    WLog_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 932
      functionLinenumberEnd: 951
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          78
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - DeleteCriticalSection
        - WLog_Appender_Free
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:937,4'
          Dst:             WLog_Appender_Free
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:948,3'
          Dst:             DeleteCriticalSection
    - functionName:    WLog_ParseFilters
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 741
      functionLinenumberEnd: 764
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - GetEnvironmentVariableA
        - WLog_AddStringLogFilters_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:749,10'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:759,6'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:760,9'
          Dst:             WLog_AddStringLogFilters_int
    - functionName:    WLog_AddStringLogFilters_int
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 580
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          174
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - WLog_ParseFilter
        - WLog_reset_log_filters
        - _strdup
        - realloc
        - strchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:530,16'
          Dst:             strchr
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:538,33'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:544,20'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:554,7'
          Dst:             strchr
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:561,9'
          Dst:             WLog_ParseFilter
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:579,9'
          Dst:             WLog_reset_log_filters
    - functionName:    WLog_ParseFilter
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 658
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          222
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - WLog_ParseLogLevel
        - _strdup
        - calloc
        - strchr
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:676,16'
          Dst:             strchr
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:683,10'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:689,26'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:702,6'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:715,11'
          Dst:             WLog_ParseLogLevel
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:728,14'
          Dst:             strchr
    - functionName:    WLog_reset_log_filters
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 502
      functionLinenumberEnd: 517
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_reset_log_filters
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:512,8'
          Dst:             WLog_reset_log_filters
    - functionName:    strrchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_ParseLogLevel
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 655
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          108
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - _stricmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:639,6'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:641,11'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:643,11'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:645,11'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:647,11'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:649,11'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:651,11'
          Dst:             _stricmp
    - functionName:    log_recursion
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          111
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - fprintf
        - winpr_backtrace
        - winpr_backtrace_free
        - winpr_backtrace_symbols
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:186,13'
          Dst:             winpr_backtrace
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:194,8'
          Dst:             winpr_backtrace_symbols
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:213,6'
          Dst:             fprintf
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:216,6'
          Dst:             fprintf
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:220,7'
          Dst:             fprintf
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:227,2'
          Dst:             winpr_backtrace_free
    - 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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_Write
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          115
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - WLog_GetLogAppender
        - WLog_OpenAppender
        - log_recursion
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:234,27'
          Dst:             WLog_GetLogAppender
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:240,8'
          Dst:             WLog_OpenAppender
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:243,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:248,13'
          Dst:             log_recursion
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:257,2'
          Dst:             LeaveCriticalSection
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    WLog_Get
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1053
      functionLinenumberEnd: 1055
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_GetRoot
        - WLog_Get_int
      functionUses:    38
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1054,15'
          Dst:             WLog_GetRoot
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1055,9'
          Dst:             WLog_Get_int
    - functionName:    WLog_IsLevelActive
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 472
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_GetLogLevel
      functionUses:    41
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:478,10'
          Dst:             WLog_GetLogLevel
    - functionName:    WLog_PrintTextMessageVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 420
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          47
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_PrintTextMessageInternal
      functionUses:    33
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:430,9'
          Dst:             WLog_PrintTextMessageInternal
    - functionName:    WLog_PrintTextMessageInternal
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Write
        - __assert_fail
        - vsnprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:355,2'
          Dst:             __assert_fail
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:363,6'
          Dst:             vsnprintf
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:368,9'
          Dst:             WLog_Write
    - functionName:    __assert_fail
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_GetLogLevel
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          86
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - WLog_GetFilterLogLevel
        - WLog_GetLogLevel
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:461,22'
          Dst:             WLog_GetFilterLogLevel
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:466,16'
          Dst:             WLog_GetLogLevel
    - functionName:    WLog_GetFilterLogLevel
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 767
      functionLinenumberEnd: 810
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         35
      ICount:          214
      EdgeCount:       44
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - _stricmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:782,8'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:785,5'
          Dst:             __assert_fail
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:790,8'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:798,6'
          Dst:             __assert_fail
    - functionName:    WLog_GetRoot
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 954
      functionLinenumberEnd: 959
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_InitializeRoot
        - winpr_InitOnceExecuteOnce
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:955,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:955,7'
          Dst:             WLog_InitializeRoot
    - functionName:    WLog_Get_int
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1031
      functionLinenumberEnd: 1050
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - WLog_AddChild
        - WLog_FindChild
        - WLog_Free
        - WLog_New
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1034,14'
          Dst:             WLog_FindChild
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1039,15'
          Dst:             WLog_New
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1042,8'
          Dst:             WLog_AddChild
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1044,4'
          Dst:             WLog_Free
    - functionName:    WLog_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 857
      functionLinenumberEnd: 929
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          198
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached:
        - GetEnvironmentVariableA
        - InitializeCriticalSectionAndSpinCount
        - WLog_Free
        - WLog_GetFilterLogLevel
        - WLog_ParseLogLevel
        - WLog_ParseName
        - WLog_SetLogLevel
        - _strdup
        - calloc
        - fprintf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:862,15'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:867,14'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:872,7'
          Dst:             WLog_ParseName
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:887,11'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:896,8'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:898,11'
          Dst:             fprintf
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:903,13'
          Dst:             WLog_ParseLogLevel
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:908,10'
          Dst:             WLog_SetLogLevel
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:914,11'
          Dst:             WLog_GetFilterLogLevel
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:918,8'
          Dst:             WLog_SetLogLevel
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:922,7'
          Dst:             InitializeCriticalSectionAndSpinCount
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:927,2'
          Dst:             WLog_Free
    - functionName:    WLog_SetLogLevel
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          102
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - WLog_UpdateInheritLevel
        - WLog_reset_log_filters
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:625,8'
          Dst:             WLog_UpdateInheritLevel
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:629,9'
          Dst:             WLog_reset_log_filters
    - functionName:    WLog_UpdateInheritLevel
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 608
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          83
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - WLog_UpdateInheritLevel
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:602,9'
          Dst:             WLog_UpdateInheritLevel
    - functionName:    WLog_InitializeRoot
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          172
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - GetEnvironmentVariableA
        - WLog_New
        - WLog_ParseFilters
        - WLog_SetLogAppenderType
        - WLog_Uninit_
        - _stricmp
        - fprintf
        - winpr_atexit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:123,20'
          Dst:             WLog_New
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:128,10'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:137,7'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:139,10'
          Dst:             fprintf
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:144,7'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:146,12'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:148,12'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:152,12'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:161,12'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:167,7'
          Dst:             WLog_SetLogAppenderType
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:170,7'
          Dst:             WLog_ParseFilters
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:173,8'
          Dst:             winpr_atexit
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:173,8'
          Dst:             WLog_Uninit_
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:177,2'
          Dst:             WLog_Uninit_
    - functionName:    WLog_Discard
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1125
      functionLinenumberEnd: 1136
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Free
        - WLog_Print_dbg_tag
        - winpr_log_backtrace
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1131,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1132,3'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1135,2'
          Dst:             WLog_Free
    - functionName:    WLog_Create
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1116
      functionLinenumberEnd: 1122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_New
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1117,14'
          Dst:             WLog_New
    - functionName:    WLog_GetGlobalPrefix
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1111
      functionLinenumberEnd: 1112
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_SetGlobalContext
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1098
      functionLinenumberEnd: 1108
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1104,20'
          Dst:             _strdup
    - functionName:    WLog_SetContext
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1089
      functionLinenumberEnd: 1094
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:1090,2'
          Dst:             winpr_int_assert
    - functionName:    WLog_AddStringLogFilters
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 586
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_AddStringLogFilters_int
        - WLog_GetRoot
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:585,15'
          Dst:             WLog_GetRoot
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:586,9'
          Dst:             WLog_AddStringLogFilters_int
    - functionName:    WLog_SetStringLogLevel
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 499
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          55
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_ParseLogLevel
        - WLog_SetLogLevel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:493,8'
          Dst:             WLog_ParseLogLevel
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:498,9'
          Dst:             WLog_SetLogLevel
    - functionName:    WLog_PrintTextMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 452
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_PrintTextMessageVA
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:450,11'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    WLog_PrintMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 435
      functionLinenumberEnd: 441
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_PrintMessageVA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:439,11'
          Dst:             WLog_PrintMessageVA
    - functionName:    WLog_PrintMessageVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 415
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          340
      EdgeCount:       48
      CyclomaticComplexity: 11
      functionsReached:
        - WLog_PrintTextMessageInternal
        - WLog_WriteData
        - WLog_WriteImage
        - WLog_WritePacket
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/wlog/wlog.c:382,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:387,13'
          Dst:             WLog_PrintTextMessageInternal
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:393,13'
          Dst:             WLog_WriteData
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:401,13'
          Dst:             WLog_WriteImage
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:408,13'
          Dst:             WLog_WritePacket
    - functionName:    WLog_WriteData
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          115
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - WLog_GetLogAppender
        - WLog_OpenAppender
        - log_recursion
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:264,27'
          Dst:             WLog_GetLogAppender
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:270,8'
          Dst:             WLog_OpenAppender
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:276,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:279,12'
          Dst:             log_recursion
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:287,2'
          Dst:             LeaveCriticalSection
    - functionName:    WLog_WriteImage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 292
      functionLinenumberEnd: 320
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          116
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - WLog_GetLogAppender
        - WLog_OpenAppender
        - log_recursion
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:295,13'
          Dst:             WLog_GetLogAppender
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:301,8'
          Dst:             WLog_OpenAppender
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:307,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:310,12'
          Dst:             log_recursion
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:318,2'
          Dst:             LeaveCriticalSection
    - functionName:    WLog_WritePacket
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/wlog.c'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          116
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - WLog_GetLogAppender
        - WLog_OpenAppender
        - log_recursion
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:326,13'
          Dst:             WLog_GetLogAppender
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:332,8'
          Dst:             WLog_OpenAppender
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:338,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:341,12'
          Dst:             log_recursion
        - Src:             'winpr/libwinpr/utils/wlog/wlog.c:349,2'
          Dst:             LeaveCriticalSection
    - functionName:    WLog_GetAppenderContext
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Appender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          70
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/wlog/Appender.c:209,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:208,2'
          Dst:             winpr_int_assert
    - functionName:    WLog_SetAppenderContext
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Appender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/wlog/Appender.c:187,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    WLog_ConfigureAppender
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Appender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - strnlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:174,32'
          Dst:             strnlen
    - functionName:    strnlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    34
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_Appender_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Appender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          138
      EdgeCount:       27
      CyclomaticComplexity: 6
      functionsReached:
        - InitializeCriticalSectionAndSpinCount
        - WLog_Appender_Free
        - WLog_BinaryAppender_New
        - WLog_CallbackAppender_New
        - WLog_ConsoleAppender_New
        - WLog_FileAppender_New
        - WLog_Layout_New
        - WLog_SyslogAppender_New
        - WLog_UdpAppender_New
        - fprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/wlog/Appender.c:101,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:104,15'
          Dst:             WLog_ConsoleAppender_New
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:107,15'
          Dst:             WLog_FileAppender_New
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:110,15'
          Dst:             WLog_BinaryAppender_New
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:113,15'
          Dst:             WLog_CallbackAppender_New
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:117,15'
          Dst:             WLog_SyslogAppender_New
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:126,15'
          Dst:             WLog_UdpAppender_New
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:129,10'
          Dst:             fprintf
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:136,14'
          Dst:             WLog_ConsoleAppender_New
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:141,27'
          Dst:             WLog_Layout_New
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:143,3'
          Dst:             WLog_Appender_Free
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:147,7'
          Dst:             InitializeCriticalSectionAndSpinCount
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:149,3'
          Dst:             WLog_Appender_Free
    - functionName:    WLog_Appender_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Appender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 25
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - DeleteCriticalSection
        - WLog_Layout_Free
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:31,3'
          Dst:             WLog_Layout_Free
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:35,2'
          Dst:             DeleteCriticalSection
    - functionName:    WLog_SetLogAppenderType
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Appender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Appender_Free
        - WLog_Appender_New
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:163,3'
          Dst:             WLog_Appender_Free
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:167,18'
          Dst:             WLog_Appender_New
    - functionName:    WLog_CloseAppender
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Appender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_GetLogAppender
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:77,13'
          Dst:             WLog_GetLogAppender
    - functionName:    WLog_GetLogAppender
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Appender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          45
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_GetLogAppender
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:45,10'
          Dst:             WLog_GetLogAppender
    - functionName:    WLog_OpenAppender
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Appender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_GetLogAppender
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Appender.c:55,13'
          Dst:             WLog_GetLogAppender
    - functionName:    WLog_FileAppender_SetOutputFileName
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/FileAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          52
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - _strdup
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:42,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:43,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:45,23'
          Dst:             _strdup
    - functionName:    WLog_FileAppender_SetOutputFilePath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/FileAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:52,23'
          Dst:             _strdup
    - functionName:    WLog_FileAppender_Set
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/FileAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          71
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - WLog_FileAppender_SetOutputFileName
        - WLog_FileAppender_SetOutputFilePath
        - strcmp
        - strnlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:178,17'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:181,7'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:182,10'
          Dst:             WLog_FileAppender_SetOutputFileName
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:184,7'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:185,10'
          Dst:             WLog_FileAppender_SetOutputFilePath
    - functionName:    WLog_FileAppender_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/FileAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_FileAppender_WriteImageMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/FileAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          72
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_ImageMessage_Write
        - WLog_Message_GetOutputFileName
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:166,23'
          Dst:             WLog_Message_GetOutputFileName
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:167,2'
          Dst:             WLog_ImageMessage_Write
    - functionName:    WLog_FileAppender_WriteDataMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/FileAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          66
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_DataMessage_Write
        - WLog_Message_GetOutputFileName
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:151,23'
          Dst:             WLog_Message_GetOutputFileName
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:152,2'
          Dst:             WLog_DataMessage_Write
    - functionName:    WLog_FileAppender_WriteMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/FileAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          80
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - WLog_Layout_GetMessagePrefix
        - fflush
        - fprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:136,2'
          Dst:             WLog_Layout_GetMessagePrefix
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:137,8'
          Dst:             fprintf
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:138,8'
          Dst:             fflush
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_FileAppender_Close
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/FileAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - fclose
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:118,8'
          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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_FileAppender_Open
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/FileAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          174
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - GetCombinedPath
        - GetCurrentProcessId
        - GetKnownSubPath
        - UnixChangeFileMode
        - snprintf
        - winpr_PathFileExists
        - winpr_PathMakePath
        - winpr_fopen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:68,28'
          Dst:             GetKnownSubPath
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:81,72'
          Dst:             GetCurrentProcessId
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:81,9'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:87,7'
          Dst:             GetCombinedPath
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:93,7'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:95,8'
          Dst:             winpr_PathMakePath
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:98,3'
          Dst:             UnixChangeFileMode
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:101,33'
          Dst:             winpr_fopen
    - functionName:    snprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    44
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_FileAppender_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/FileAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 272
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          195
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - GetEnvironmentVariableA
        - WLog_FileAppender_SetOutputFileName
        - WLog_FileAppender_SetOutputFilePath
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:210,36'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:224,10'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:234,7'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:240,12'
          Dst:             WLog_FileAppender_SetOutputFilePath
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:248,10'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:258,7'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/FileAppender.c:259,13'
          Dst:             WLog_FileAppender_SetOutputFileName
    - functionName:    Stream_Seek
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          51
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:158,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:159,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:159,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_UINT16
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:236,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_UINT32
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_Data_Write_UINT16
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:259,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/endian.h:261,3'
          Dst:             winpr_Data_Write_UINT16
        - Src:             'winpr/include/winpr/endian.h:262,3'
          Dst:             winpr_Data_Write_UINT16
    - functionName:    Stream_Buffer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1264
      functionLinenumberEnd: 1266
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1265,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Write
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1187
      functionLinenumberEnd: 1196
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          77
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingCapacity
        - Stream_Seek
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1190,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1191,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1192,4'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1192,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1194,4'
          Dst:             Stream_Seek
    - functionName:    Stream_Write_UINT32_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1087
      functionLinenumberEnd: 1094
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT32
        - winpr_int_assert
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1088,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1089,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1090,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1090,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1092,3'
          Dst:             winpr_Data_Write_UINT32
    - functionName:    WLog_BinaryAppender_Set
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/BinaryAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          96
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - _strdup
        - strcmp
        - strnlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:186,17'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:189,7'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:191,30'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:195,12'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:197,30'
          Dst:             _strdup
    - functionName:    WLog_BinaryAppender_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/BinaryAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_BinaryAppender_WriteImageMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/BinaryAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_BinaryAppender_WriteDataMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/BinaryAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_BinaryAppender_WriteMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/BinaryAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         131
      ICount:          455
      EdgeCount:       141
      CyclomaticComplexity: 12
      functionsReached:
        - Stream_Buffer
        - Stream_Free
        - Stream_New
        - Stream_SealLength
        - Stream_Write
        - Stream_Write_UINT32_unchecked
        - fwrite
        - strnlen
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:125,19'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:126,23'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:127,21'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:136,6'
          Dst:             Stream_New
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:140,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:140,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:140,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:142,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:142,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:142,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:143,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:143,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:143,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:145,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:146,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:146,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:146,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:148,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:148,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:148,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:149,2'
          Dst:             Stream_Write
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:151,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:151,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:151,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:152,2'
          Dst:             Stream_Write
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:154,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:154,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:154,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:155,2'
          Dst:             Stream_Write
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:157,2'
          Dst:             Stream_SealLength
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:159,13'
          Dst:             Stream_Buffer
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:159,6'
          Dst:             fwrite
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:162,2'
          Dst:             Stream_Free
    - 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:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_BinaryAppender_Close
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/BinaryAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - fclose
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:96,9'
          Dst:             fclose
    - functionName:    WLog_BinaryAppender_Open
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/BinaryAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          174
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - GetCombinedPath
        - GetCurrentProcessId
        - GetKnownSubPath
        - UnixChangeFileMode
        - snprintf
        - winpr_PathFileExists
        - winpr_PathMakePath
        - winpr_fopen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:54,19'
          Dst:             GetCurrentProcessId
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:53,9'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:59,30'
          Dst:             GetKnownSubPath
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:67,7'
          Dst:             GetCombinedPath
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:72,7'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:74,8'
          Dst:             winpr_PathMakePath
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:76,3'
          Dst:             UnixChangeFileMode
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:79,35'
          Dst:             winpr_fopen
    - functionName:    WLog_BinaryAppender_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/BinaryAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/BinaryAppender.c:222,60'
          Dst:             calloc
    - functionName:    WLog_CallbackAppender_Set
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/CallbackAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/CallbackAppender.c:159,6'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/utils/wlog/CallbackAppender.c:165,6'
          Dst:             strcmp
    - functionName:    WLog_CallbackAppender_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/CallbackAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_CallbackAppender_WritePacketMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/CallbackAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          105
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Layout_GetMessagePrefix
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/CallbackAppender.c:128,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/CallbackAppender.c:133,2'
          Dst:             WLog_Layout_GetMessagePrefix
    - functionName:    WLog_CallbackAppender_WriteImageMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/CallbackAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          105
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Layout_GetMessagePrefix
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/CallbackAppender.c:101,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/CallbackAppender.c:106,2'
          Dst:             WLog_Layout_GetMessagePrefix
    - functionName:    WLog_CallbackAppender_WriteDataMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/CallbackAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          93
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Layout_GetMessagePrefix
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/CallbackAppender.c:79,2'
          Dst:             WLog_Layout_GetMessagePrefix
    - functionName:    WLog_CallbackAppender_WriteMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/CallbackAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          105
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Layout_GetMessagePrefix
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/CallbackAppender.c:47,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/CallbackAppender.c:52,2'
          Dst:             WLog_Layout_GetMessagePrefix
    - functionName:    WLog_CallbackAppender_Close
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/CallbackAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_CallbackAppender_Open
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/CallbackAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_CallbackAppender_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/CallbackAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          69
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/CallbackAppender.c:181,29'
          Dst:             calloc
    - functionName:    WLog_ConsoleAppender_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/ConsoleAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Pcap_Close
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:235,4'
          Dst:             Pcap_Close
    - functionName:    WLog_ConsoleAppender_Set
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/ConsoleAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          108
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - strcmp
        - strnlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:209,17'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:212,6'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:215,7'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:217,12'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:219,12'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:221,12'
          Dst:             strcmp
    - functionName:    WLog_ConsoleAppender_WritePacketMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/ConsoleAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          73
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Pcap_Open
        - WLog_Message_GetOutputFileName
        - WLog_PacketMessage_Write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:192,24'
          Dst:             WLog_Message_GetOutputFileName
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:193,43'
          Dst:             Pcap_Open
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:198,10'
          Dst:             WLog_PacketMessage_Write
    - functionName:    WLog_ConsoleAppender_WriteImageMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/ConsoleAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_ImageMessage_Write
        - WLog_Message_GetOutputFileName
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:168,23'
          Dst:             WLog_Message_GetOutputFileName
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:170,2'
          Dst:             WLog_ImageMessage_Write
    - functionName:    WLog_ConsoleAppender_WriteDataMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/ConsoleAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_DataMessage_Write
        - WLog_Message_GetOutputFileName
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:148,23'
          Dst:             WLog_Message_GetOutputFileName
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:150,2'
          Dst:             WLog_DataMessage_Write
    - functionName:    WLog_ConsoleAppender_WriteMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/ConsoleAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          109
      EdgeCount:       19
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Layout_GetMessagePrefix
        - fprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/wlog/ConsoleAppender.c:109,2'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/utils/wlog/ConsoleAppender.c:118,4'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:62,2'
          Dst:             WLog_Layout_GetMessagePrefix
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:133,9'
          Dst:             fprintf
    - functionName:    WLog_ConsoleAppender_Close
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/ConsoleAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_ConsoleAppender_Open
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/ConsoleAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_ConsoleAppender_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/ConsoleAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          72
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/ConsoleAppender.c:245,28'
          Dst:             calloc
    - functionName:    WLog_UdpAppender_Set
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/UdpAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          99
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - WLog_UdpAppender_Open
        - _strdup
        - strncmp
        - strnlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:130,17'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:133,6'
          Dst:             strncmp
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:141,22'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:142,43'
          Dst:             WLog_UdpAppender_Open
    - functionName:    strncmp
      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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_UdpAppender_Open
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/UdpAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          202
      EdgeCount:       43
      CyclomaticComplexity: 10
      functionsReached:
        - freeaddrinfo
        - getaddrinfo
        - strchr
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:55,13'
          Dst:             strchr
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:60,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:60,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:65,11'
          Dst:             getaddrinfo
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:72,3'
          Dst:             freeaddrinfo
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:78,2'
          Dst:             freeaddrinfo
    - functionName:    getaddrinfo
      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:    freeaddrinfo
      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:    WLog_UdpAppender_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/UdpAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - closesocket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:155,4'
          Dst:             closesocket
    - functionName:    WLog_UdpAppender_WriteImageMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/UdpAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_UdpAppender_WriteDataMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/UdpAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_UdpAppender_WriteMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/UdpAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          134
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - WLog_Layout_GetMessagePrefix
        - _sendto
        - strnlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:96,2'
          Dst:             WLog_Layout_GetMessagePrefix
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:99,46'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:99,6'
          Dst:             _sendto
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:103,19'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:102,6'
          Dst:             _sendto
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:106,6'
          Dst:             _sendto
    - functionName:    WLog_UdpAppender_Close
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/UdpAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_UdpAppender_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/UdpAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          162
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - GetEnvironmentVariableA
        - WLog_UdpAppender_Open
        - _socket
        - _strdup
        - calloc
        - closesocket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:168,48'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:181,19'
          Dst:             _socket
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:187,10'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:196,7'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:199,8'
          Dst:             WLog_UdpAppender_Open
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:204,20'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/utils/wlog/UdpAppender.c:213,2'
          Dst:             closesocket
    - functionName:    getSyslogLevel
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/SyslogAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          52
      EdgeCount:       22
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/wlog/SyslogAppender.c:33,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    WLog_SyslogAppender_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/SyslogAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_SyslogAppender_WriteImageMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/SyslogAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - getSyslogLevel
        - syslog
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/SyslogAppender.c:100,16'
          Dst:             getSyslogLevel
        - Src:             'winpr/libwinpr/utils/wlog/SyslogAppender.c:102,3'
          Dst:             syslog
    - functionName:    syslog
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_SyslogAppender_WriteDataMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/SyslogAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          68
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - getSyslogLevel
        - syslog
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/SyslogAppender.c:85,16'
          Dst:             getSyslogLevel
        - Src:             'winpr/libwinpr/utils/wlog/SyslogAppender.c:87,3'
          Dst:             syslog
    - functionName:    WLog_SyslogAppender_WriteMessage
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/SyslogAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          68
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - getSyslogLevel
        - syslog
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/SyslogAppender.c:70,16'
          Dst:             getSyslogLevel
        - Src:             'winpr/libwinpr/utils/wlog/SyslogAppender.c:72,3'
          Dst:             syslog
    - functionName:    WLog_SyslogAppender_Close
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/SyslogAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_SyslogAppender_Open
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/SyslogAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_SyslogAppender_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/SyslogAppender.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/SyslogAppender.c:115,54'
          Dst:             calloc
    - functionName:    Stream_Init
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_Data_Get_INT8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:47,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Get_UINT8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:40,3'
          Dst:             winpr_int_assert
    - functionName:    readLen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 903
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          134
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - stream_read_u8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:907,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:910,2'
          Dst:             stream_read_u8
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:917,8'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:923,4'
          Dst:             stream_read_u8
    - functionName:    stream_read_u8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          62
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingLength
        - Stream_Seek
        - winpr_Data_Get_UINT8
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:178,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:179,3'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/include/winpr/stream.h:179,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:181,19'
          Dst:             winpr_Data_Get_UINT8
        - Src:             'winpr/include/winpr/stream.h:183,4'
          Dst:             Stream_Seek
    - functionName:    Stream_Seek
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          51
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_int_assert
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:158,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:159,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:159,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_INT8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:305,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_INT32_BE
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_Data_Write_UINT16_BE
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:350,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/endian.h:352,3'
          Dst:             winpr_Data_Write_UINT16_BE
        - Src:             'winpr/include/winpr/endian.h:353,3'
          Dst:             winpr_Data_Write_UINT16_BE
    - functionName:    winpr_Data_Write_UINT16_BE
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:244,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_INT16_BE
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:327,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Write_INT32_BE_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1061
      functionLinenumberEnd: 1068
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_INT32_BE
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1062,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1063,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1064,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1064,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1066,3'
          Dst:             winpr_Data_Write_INT32_BE
    - functionName:    Stream_Write_INT16_BE_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 979
      functionLinenumberEnd: 986
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_INT16_BE
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:980,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:981,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:982,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:982,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:984,3'
          Dst:             winpr_Data_Write_INT16_BE
    - functionName:    asn1IntegerLen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          52
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_Data_Write_UINT32_BE
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_Data_Write_UINT16_BE
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:267,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/endian.h:269,3'
          Dst:             winpr_Data_Write_UINT16_BE
        - Src:             'winpr/include/winpr/endian.h:270,3'
          Dst:             winpr_Data_Write_UINT16_BE
    - functionName:    Stream_Write_UINT32_BE_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1113
      functionLinenumberEnd: 1118
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT32_BE
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1114,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1114,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1116,3'
          Dst:             winpr_Data_Write_UINT32_BE
    - functionName:    Stream_Write_UINT24_BE_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1005
      functionLinenumberEnd: 1014
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          100
      EdgeCount:       27
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1006,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1007,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1008,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1009,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1009,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Write_UINT16_BE_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 951
      functionLinenumberEnd: 958
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT16_BE
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:952,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:953,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:954,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:954,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:956,3'
          Dst:             winpr_Data_Write_UINT16_BE
    - functionName:    winpr_Data_Write_UINT8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:222,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_GetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1342
      functionLinenumberEnd: 1345
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1343,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1344,3'
          Dst:             winpr_int_assert
    - functionName:    asn1enc_get_free_container
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          156
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - realloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:267,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:274,32'
          Dst:             realloc
    - functionName:    asn1enc_get_free_chunk
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          339
      EdgeCount:       67
      CyclomaticComplexity: 16
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_GetPosition
        - Stream_Seek
        - realloc
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:207,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:208,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:218,9'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:221,4'
          Dst:             Stream_Seek
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:234,20'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:249,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:253,20'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:260,2'
          Dst:             Stream_Seek
    - functionName:    WinPrAsn1DecGetStream
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1506
      functionLinenumberEnd: 1512
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_ConstPointer
        - Stream_GetRemainingLength
        - Stream_StaticConstInit
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1508,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1510,29'
          Dst:             Stream_ConstPointer
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1511,25'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1510,2'
          Dst:             Stream_StaticConstInit
    - functionName:    Stream_ConstPointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1297
      functionLinenumberEnd: 1299
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1298,3'
          Dst:             winpr_int_assert
    - functionName:    WinPrAsn1DecReadContextualSequence
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1485
      functionLinenumberEnd: 1503
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_Seek
        - WinPrAsn1DecReadSequence
        - WinPrAsn1Decoder_init
        - readContextualHeader
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1488,29'
          Dst:             WinPrAsn1Decoder_init
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1490,8'
          Dst:             readContextualHeader
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1494,9'
          Dst:             WinPrAsn1DecReadSequence
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1501,2'
          Dst:             Stream_Seek
    - functionName:    WinPrAsn1Decoder_init
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/asn1.h'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/asn1.h:79,25'
          Dst:             Stream_Init
    - functionName:    readContextualHeader
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1371
      functionLinenumberEnd: 1392
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          98
      EdgeCount:       28
      CyclomaticComplexity: 4
      functionsReached:
        - WinPrAsn1DecPeekContextualTag
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1375,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1376,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1377,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1380,8'
          Dst:             WinPrAsn1DecPeekContextualTag
    - functionName:    WinPrAsn1DecReadSequence
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1302
      functionLinenumberEnd: 1314
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          67
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - readConstructed
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1306,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1307,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1309,8'
          Dst:             readConstructed
    - functionName:    readConstructed
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1271
      functionLinenumberEnd: 1283
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          73
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_ConstPointer
        - Stream_Seek
        - Stream_StaticConstInit
        - readTagAndLen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1275,8'
          Dst:             readTagAndLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1276,15'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1280,42'
          Dst:             Stream_ConstPointer
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1280,2'
          Dst:             Stream_StaticConstInit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1281,2'
          Dst:             Stream_Seek
    - functionName:    readTagAndLen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 940
      functionLinenumberEnd: 952
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          62
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_GetRemainingLength
        - Stream_Read
        - readLen
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:943,6'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:946,2'
          Dst:             Stream_Read
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:947,13'
          Dst:             readLen
    - functionName:    Stream_Read
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          80
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingCapacity
        - Stream_Seek
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:733,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:734,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:735,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:735,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:737,3'
          Dst:             Stream_Seek
    - functionName:    WinPrAsn1DecPeekContextualTag
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1360
      functionLinenumberEnd: 1366
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_ConstPointer
        - Stream_GetRemainingLength
        - Stream_StaticConstInit
        - readContextualTag
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1362,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1364,35'
          Dst:             Stream_ConstPointer
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1365,25'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1364,2'
          Dst:             Stream_StaticConstInit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1366,9'
          Dst:             readContextualTag
    - functionName:    readContextualTag
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1346
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          62
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - readConstructed
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1337,8'
          Dst:             readConstructed
    - functionName:    WinPrAsn1DecReadContextualOctetString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1463
      functionLinenumberEnd: 1481
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          68
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_Seek
        - WinPrAsn1DecReadOctetString
        - WinPrAsn1Decoder_init
        - readContextualHeader
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1466,29'
          Dst:             WinPrAsn1Decoder_init
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1468,8'
          Dst:             readContextualHeader
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1472,9'
          Dst:             WinPrAsn1DecReadOctetString
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1479,2'
          Dst:             Stream_Seek
    - functionName:    WinPrAsn1DecReadOctetString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1116
      functionLinenumberEnd: 1117
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1DecReadMemoryChunkLike
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1117,9'
          Dst:             WinPrAsn1DecReadMemoryChunkLike
    - functionName:    WinPrAsn1DecReadMemoryChunkLike
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1072
      functionLinenumberEnd: 1106
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          156
      EdgeCount:       36
      CyclomaticComplexity: 8
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_Pointer
        - Stream_Read
        - Stream_Seek
        - readTagAndLen
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1077,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1078,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1080,8'
          Dst:             readTagAndLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1083,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1097,3'
          Dst:             Stream_Read
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1101,18'
          Dst:             Stream_Pointer
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1102,3'
          Dst:             Stream_Seek
    - functionName:    Stream_Pointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1291
      functionLinenumberEnd: 1293
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1292,3'
          Dst:             winpr_int_assert
    - functionName:    WinPrAsn1DecReadContextualOID
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1440
      functionLinenumberEnd: 1458
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          68
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_Seek
        - WinPrAsn1DecReadOID
        - WinPrAsn1Decoder_init
        - readContextualHeader
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1443,29'
          Dst:             WinPrAsn1Decoder_init
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1445,8'
          Dst:             readContextualHeader
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1449,9'
          Dst:             WinPrAsn1DecReadOID
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1456,2'
          Dst:             Stream_Seek
    - functionName:    WinPrAsn1DecReadOID
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1109
      functionLinenumberEnd: 1111
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1DecReadMemoryChunkLike
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1110,9'
          Dst:             WinPrAsn1DecReadMemoryChunkLike
    - functionName:    WinPrAsn1DecReadContextualInteger
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1418
      functionLinenumberEnd: 1436
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_Seek
        - WinPrAsn1DecReadInteger
        - WinPrAsn1Decoder_init
        - readContextualHeader
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1421,29'
          Dst:             WinPrAsn1Decoder_init
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1423,8'
          Dst:             readContextualHeader
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1427,9'
          Dst:             WinPrAsn1DecReadInteger
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1434,2'
          Dst:             Stream_Seek
    - functionName:    WinPrAsn1DecReadInteger
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1061
      functionLinenumberEnd: 1062
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1DecReadIntegerLike
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1062,9'
          Dst:             WinPrAsn1DecReadIntegerLike
    - functionName:    WinPrAsn1DecReadIntegerLike
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1019
      functionLinenumberEnd: 1058
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          179
      EdgeCount:       46
      CyclomaticComplexity: 9
      functionsReached:
        - Stream_GetRemainingLength
        - readTagAndLen
        - stream_read_u8
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1023,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1024,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1026,15'
          Dst:             readTagAndLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1029,18'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1035,2'
          Dst:             stream_read_u8
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1048,3'
          Dst:             stream_read_u8
    - functionName:    WinPrAsn1DecReadContextualBool
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1396
      functionLinenumberEnd: 1414
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_Seek
        - WinPrAsn1DecReadBoolean
        - WinPrAsn1Decoder_init
        - readContextualHeader
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1399,29'
          Dst:             WinPrAsn1Decoder_init
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1401,8'
          Dst:             readContextualHeader
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1405,9'
          Dst:             WinPrAsn1DecReadBoolean
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1412,2'
          Dst:             Stream_Seek
    - functionName:    WinPrAsn1DecReadBoolean
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 997
      functionLinenumberEnd: 1015
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          114
      EdgeCount:       32
      CyclomaticComplexity: 6
      functionsReached:
        - Stream_GetRemainingLength
        - readTagAndLen
        - stream_read_u8
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1003,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1004,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1006,8'
          Dst:             readTagAndLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1009,6'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1012,2'
          Dst:             stream_read_u8
    - functionName:    WinPrAsn1DecReadContextualTag
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1350
      functionLinenumberEnd: 1355
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          62
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - readContextualTag
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1351,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1352,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1353,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1355,9'
          Dst:             readContextualTag
    - functionName:    WinPrAsn1DecReadSet
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1317
      functionLinenumberEnd: 1329
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          67
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - readConstructed
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1321,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1322,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1324,8'
          Dst:             readConstructed
    - functionName:    WinPrAsn1DecReadApp
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1286
      functionLinenumberEnd: 1299
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          76
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - readConstructed
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1290,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1291,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1293,8'
          Dst:             readConstructed
    - functionName:    WinPrAsn1DecReadNull
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1255
      functionLinenumberEnd: 1267
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          71
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - readTagAndLen
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1260,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1262,8'
          Dst:             readTagAndLen
    - functionName:    stream_read_i8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Seek
        - winpr_Data_Get_INT8
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:189,18'
          Dst:             winpr_Data_Get_INT8
        - Src:             'winpr/include/winpr/stream.h:191,4'
          Dst:             Stream_Seek
    - functionName:    read2digits
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1175
      functionLinenumberEnd: 1191
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          86
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - stream_read_i8
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1179,2'
          Dst:             stream_read_i8
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1185,2'
          Dst:             stream_read_i8
    - functionName:    WinPrAsn1DecReadUtcTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1194
      functionLinenumberEnd: 1252
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         61
      ICount:          291
      EdgeCount:       78
      CyclomaticComplexity: 19
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_ConstPointer
        - Stream_GetRemainingLength
        - Stream_Seek
        - Stream_StaticConstInit
        - read2digits
        - readTagAndLen
        - stream_read_i8
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1202,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1203,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1205,8'
          Dst:             readTagAndLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1208,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1211,28'
          Dst:             Stream_ConstPointer
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1211,2'
          Dst:             Stream_StaticConstInit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1213,6'
          Dst:             read2digits
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1218,6'
          Dst:             read2digits
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1223,6'
          Dst:             read2digits
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1228,6'
          Dst:             read2digits
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1233,6'
          Dst:             read2digits
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1238,6'
          Dst:             read2digits
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1243,6'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1245,3'
          Dst:             stream_read_i8
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1248,2'
          Dst:             Stream_Seek
    - functionName:    WinPrAsn1DecReadGeneralString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1148
      functionLinenumberEnd: 1172
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          119
      EdgeCount:       29
      CyclomaticComplexity: 6
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_Read
        - readTagAndLen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1154,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1155,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1157,8'
          Dst:             readTagAndLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1160,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1168,2'
          Dst:             Stream_Read
    - functionName:    WinPrAsn1DecReadIA5String
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1121
      functionLinenumberEnd: 1145
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          119
      EdgeCount:       29
      CyclomaticComplexity: 6
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_Read
        - readTagAndLen
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1127,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1128,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1130,8'
          Dst:             readTagAndLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1133,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1141,2'
          Dst:             Stream_Read
    - functionName:    WinPrAsn1DecReadEnumerated
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1066
      functionLinenumberEnd: 1067
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1DecReadIntegerLike
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:1067,9'
          Dst:             WinPrAsn1DecReadIntegerLike
    - functionName:    WinPrAsn1DecReadTagLenValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 976
      functionLinenumberEnd: 994
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          128
      EdgeCount:       34
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_Pointer
        - Stream_Seek
        - Stream_StaticInit
        - readTagAndLen
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:978,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:979,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:980,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:981,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:983,8'
          Dst:             readTagAndLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:987,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:991,36'
          Dst:             Stream_Pointer
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:991,2'
          Dst:             Stream_StaticInit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:992,2'
          Dst:             Stream_Seek
    - functionName:    WinPrAsn1DecPeekTagAndLen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 964
      functionLinenumberEnd: 971
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_ConstPointer
        - Stream_GetRemainingLength
        - Stream_StaticConstInit
        - readTagAndLen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:967,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:969,48'
          Dst:             Stream_ConstPointer
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:970,38'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:969,15'
          Dst:             Stream_StaticConstInit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:971,9'
          Dst:             readTagAndLen
    - functionName:    WinPrAsn1DecReadTagAndLen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 955
      functionLinenumberEnd: 960
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          62
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - readTagAndLen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:956,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:957,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:958,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:960,9'
          Dst:             readTagAndLen
    - functionName:    Stream_Peek
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 825
      functionLinenumberEnd: 830
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          77
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:826,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:827,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:828,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:828,3'
          Dst:             winpr_int_assert
    - functionName:    WinPrAsn1DecPeekTag
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 892
      functionLinenumberEnd: 900
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          61
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingLength
        - Stream_Peek
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:893,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:894,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:896,6'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:898,2'
          Dst:             Stream_Peek
    - functionName:    WinPrAsn1Decoder_InitMem
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 883
      functionLinenumberEnd: 889
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          55
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_StaticConstInit
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:884,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:885,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:888,2'
          Dst:             Stream_StaticConstInit
    - functionName:    WinPrAsn1Decoder_Init
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 873
      functionLinenumberEnd: 879
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          52
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:874,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:875,2'
          Dst:             winpr_int_assert
    - functionName:    WinPrAsn1EncToStream
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 850
      functionLinenumberEnd: 869
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          111
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Buffer
        - Stream_EnsureRemainingCapacity
        - Stream_Write
        - WinPrAsn1EncStreamSize
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:853,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:854,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:856,7'
          Dst:             WinPrAsn1EncStreamSize
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:859,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:864,15'
          Dst:             Stream_Buffer
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:865,3'
          Dst:             Stream_Write
    - functionName:    WinPrAsn1EncStreamSize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 831
      functionLinenumberEnd: 847
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          91
      EdgeCount:       24
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:834,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:835,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:839,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    Stream_Buffer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1264
      functionLinenumberEnd: 1266
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1265,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Write
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1187
      functionLinenumberEnd: 1196
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          77
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingCapacity
        - Stream_Seek
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1190,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1191,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1192,4'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1192,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1194,4'
          Dst:             Stream_Seek
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    WinPrAsn1EncContextualUtcTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 800
      functionLinenumberEnd: 828
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         94
      ICount:          254
      EdgeCount:       95
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Write_INT8_unchecked
        - Stream_Write_UINT8_unchecked
        - asn1_getWriteStream
        - winpr_int_assert
        - write2digit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:804,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:805,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:806,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:807,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:808,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:810,7'
          Dst:             asn1_getWriteStream
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:813,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:813,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:813,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:814,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:816,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:817,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:819,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:820,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:821,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:822,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:823,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:824,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:825,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:825,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:825,2'
          Dst:             Stream_Write_INT8_unchecked
    - functionName:    asn1_getWriteStream
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 496
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          59
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Buffer
        - Stream_StaticInit
        - asn1enc_get_free_chunk
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:489,21'
          Dst:             asn1enc_get_free_chunk
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:493,9'
          Dst:             Stream_Buffer
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:494,2'
          Dst:             Stream_StaticInit
    - functionName:    Stream_Write_UINT8_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 873
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT8
        - winpr_int_assert
      functionUses:    37
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:874,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:875,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:876,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:876,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:878,3'
          Dst:             winpr_Data_Write_UINT8
    - functionName:    write2digit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 768
      functionLinenumberEnd: 771
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          100
      EdgeCount:       31
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:769,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:769,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:769,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:770,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:770,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:770,2'
          Dst:             Stream_Write_UINT8_unchecked
    - functionName:    Stream_Write_INT8_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 848
      functionLinenumberEnd: 855
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_INT8
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:849,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:850,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:851,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:851,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:853,3'
          Dst:             winpr_Data_Write_INT8
    - functionName:    WinPrAsn1EncUtcTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 774
      functionLinenumberEnd: 796
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         58
      ICount:          173
      EdgeCount:       59
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Write_INT8_unchecked
        - Stream_Write_UINT8_unchecked
        - asn1_getWriteStream
        - winpr_int_assert
        - write2digit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:778,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:779,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:780,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:782,7'
          Dst:             asn1_getWriteStream
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:785,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:786,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:788,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:789,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:790,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:791,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:792,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:793,2'
          Dst:             write2digit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:794,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:794,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:794,2'
          Dst:             Stream_Write_INT8_unchecked
    - functionName:    WinPrAsn1EncContextualIA5String
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 758
      functionLinenumberEnd: 764
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          43
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncContextualMemoryChunk
        - strlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:760,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:762,14'
          Dst:             strlen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:764,9'
          Dst:             WinPrAsn1EncContextualMemoryChunk
    - 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:    57
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WinPrAsn1EncContextualMemoryChunk
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 721
      functionLinenumberEnd: 742
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          179
      EdgeCount:       53
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Write
        - Stream_Write_UINT8_unchecked
        - asn1WriteLen
        - asn1_getWriteStream
        - lenBytes
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:726,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:727,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:728,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:729,12'
          Dst:             lenBytes
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:731,15'
          Dst:             lenBytes
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:732,7'
          Dst:             asn1_getWriteStream
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:735,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:735,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:735,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:736,2'
          Dst:             asn1WriteLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:738,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:738,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:738,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:739,2'
          Dst:             asn1WriteLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:740,2'
          Dst:             Stream_Write
    - functionName:    lenBytes
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          49
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    asn1WriteLen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         131
      ICount:          291
      EdgeCount:       135
      CyclomaticComplexity: 6
      functionsReached:
        - Stream_Write_UINT16_BE_unchecked
        - Stream_Write_UINT24_BE_unchecked
        - Stream_Write_UINT32_BE_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:312,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:312,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:312,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:316,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:317,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:317,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:317,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:321,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:322,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:322,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:322,3'
          Dst:             Stream_Write_UINT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:326,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:327,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:327,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:327,3'
          Dst:             Stream_Write_UINT24_BE_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:331,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:332,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:333,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:333,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:333,3'
          Dst:             Stream_Write_UINT32_BE_unchecked
    - functionName:    WinPrAsn1EncContextualOctetString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 752
      functionLinenumberEnd: 753
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncContextualMemoryChunk
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:753,9'
          Dst:             WinPrAsn1EncContextualMemoryChunk
    - functionName:    WinPrAsn1EncContextualOID
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 746
      functionLinenumberEnd: 747
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncContextualMemoryChunk
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:747,9'
          Dst:             WinPrAsn1EncContextualMemoryChunk
    - functionName:    WinPrAsn1EncGeneralString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 710
      functionLinenumberEnd: 715
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncMemoryChunk
        - strlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:712,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:714,14'
          Dst:             strlen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:715,9'
          Dst:             WinPrAsn1EncMemoryChunk
    - functionName:    WinPrAsn1EncMemoryChunk
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 673
      functionLinenumberEnd: 688
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          116
      EdgeCount:       33
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Write
        - Stream_Write_UINT8_unchecked
        - asn1WriteLen
        - asn1_getWriteStream
        - lenBytes
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:677,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:678,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:679,12'
          Dst:             lenBytes
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:681,7'
          Dst:             asn1_getWriteStream
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:684,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:684,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:684,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:685,2'
          Dst:             asn1WriteLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:686,2'
          Dst:             Stream_Write
    - functionName:    WinPrAsn1EncIA5String
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 701
      functionLinenumberEnd: 706
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncMemoryChunk
        - strlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:703,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:705,14'
          Dst:             strlen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:706,9'
          Dst:             WinPrAsn1EncMemoryChunk
    - functionName:    WinPrAsn1EncOctetString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 697
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncMemoryChunk
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:697,9'
          Dst:             WinPrAsn1EncMemoryChunk
    - functionName:    WinPrAsn1EncOID
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 691
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncMemoryChunk
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:692,9'
          Dst:             WinPrAsn1EncMemoryChunk
    - functionName:    WinPrAsn1EncContextualBoolean
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 651
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          182
      EdgeCount:       77
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Write_UINT8_unchecked
        - asn1_getWriteStream
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:655,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:656,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:658,7'
          Dst:             asn1_getWriteStream
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:661,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:661,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:661,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:662,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:664,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:665,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:666,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:666,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:666,2'
          Dst:             Stream_Write_UINT8_unchecked
    - functionName:    WinPrAsn1EncBoolean
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 636
      functionLinenumberEnd: 648
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         40
      ICount:          104
      EdgeCount:       41
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Write_UINT8_unchecked
        - asn1_getWriteStream
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:640,7'
          Dst:             asn1_getWriteStream
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:643,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:644,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:645,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:645,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:645,2'
          Dst:             Stream_Write_UINT8_unchecked
    - functionName:    WinPrAsn1EncContextualEnumerated
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 631
      functionLinenumberEnd: 632
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncContextualIntegerLike
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:632,9'
          Dst:             WinPrAsn1EncContextualIntegerLike
    - functionName:    WinPrAsn1EncContextualIntegerLike
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 587
      functionLinenumberEnd: 621
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         123
      ICount:          313
      EdgeCount:       123
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Write_INT16_BE_unchecked
        - Stream_Write_INT32_BE_unchecked
        - Stream_Write_INT8_unchecked
        - Stream_Write_UINT8_unchecked
        - asn1IntegerLen
        - asn1WriteLen
        - asn1_getWriteStream
        - lenBytes
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/asn1/asn1.c:603,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:591,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:592,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:594,21'
          Dst:             asn1IntegerLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:595,28'
          Dst:             lenBytes
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:596,7'
          Dst:             asn1_getWriteStream
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:599,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:599,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:599,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:600,2'
          Dst:             asn1WriteLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:602,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:602,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:602,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:606,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:607,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:607,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:607,4'
          Dst:             Stream_Write_INT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:610,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:611,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:611,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:611,4'
          Dst:             Stream_Write_INT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:614,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:615,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:615,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:615,4'
          Dst:             Stream_Write_INT32_BE_unchecked
    - functionName:    WinPrAsn1EncContextualInteger
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 625
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncContextualIntegerLike
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:626,9'
          Dst:             WinPrAsn1EncContextualIntegerLike
    - functionName:    WinPrAsn1EncEnumerated
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 582
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncIntegerLike
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:582,9'
          Dst:             WinPrAsn1EncIntegerLike
    - functionName:    WinPrAsn1EncIntegerLike
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 546
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         97
      ICount:          236
      EdgeCount:       97
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Write_INT16_BE_unchecked
        - Stream_Write_INT32_BE_unchecked
        - Stream_Write_INT8_unchecked
        - Stream_Write_UINT8_unchecked
        - asn1IntegerLen
        - asn1_getWriteStream
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/asn1/asn1.c:555,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:550,21'
          Dst:             asn1IntegerLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:551,7'
          Dst:             asn1_getWriteStream
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:554,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:554,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:554,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:558,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:559,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:559,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:559,4'
          Dst:             Stream_Write_INT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:562,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:563,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:563,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:563,4'
          Dst:             Stream_Write_INT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:566,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:567,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:567,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:567,4'
          Dst:             Stream_Write_INT32_BE_unchecked
    - functionName:    WinPrAsn1EncInteger
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 576
      functionLinenumberEnd: 577
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1EncIntegerLike
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:577,9'
          Dst:             WinPrAsn1EncIntegerLike
    - functionName:    WinPrAsn1EncContextualRawContent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 515
      functionLinenumberEnd: 532
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          140
      EdgeCount:       39
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Write
        - Stream_Write_UINT8_unchecked
        - asn1WriteLen
        - asn1_getWriteStream
        - lenBytes
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:519,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:520,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:521,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:523,19'
          Dst:             lenBytes
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:524,7'
          Dst:             asn1_getWriteStream
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:527,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:527,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:527,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:528,2'
          Dst:             asn1WriteLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:530,2'
          Dst:             Stream_Write
    - functionName:    WinPrAsn1EncRawContent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 499
      functionLinenumberEnd: 511
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          74
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Write
        - asn1_getWriteStream
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:503,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:504,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:506,7'
          Dst:             asn1_getWriteStream
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:509,2'
          Dst:             Stream_Write
    - functionName:    WinPrAsn1EncEndContainer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         69
      ICount:          367
      EdgeCount:       70
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Buffer
        - Stream_StaticInit
        - Stream_Write_UINT8_unchecked
        - WLog_Print_dbg_tag
        - asn1WriteLen
        - lenBytes
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/asn1/asn1.c:419,2'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/utils/asn1/asn1.c:465,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:409,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:410,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:423,27'
          Dst:             lenBytes
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:427,27'
          Dst:             lenBytes
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:431,27'
          Dst:             lenBytes
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:435,27'
          Dst:             lenBytes
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:441,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:448,26'
          Dst:             lenBytes
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:458,23'
          Dst:             Stream_Buffer
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:458,2'
          Dst:             Stream_StaticInit
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:461,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:461,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:461,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:462,3'
          Dst:             asn1WriteLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:471,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:471,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:471,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:472,4'
          Dst:             asn1WriteLen
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:477,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WinPrAsn1EncContextualOctetStringContainer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 394
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getAsn1Container
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:394,9'
          Dst:             getAsn1Container
    - functionName:    getAsn1Container
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 339
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - char
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          67
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - asn1enc_get_free_chunk
        - asn1enc_get_free_container
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:344,21'
          Dst:             asn1enc_get_free_chunk
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:348,14'
          Dst:             asn1enc_get_free_container
    - functionName:    WinPrAsn1EncOctetStringContainer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 388
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getAsn1Container
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:389,9'
          Dst:             getAsn1Container
    - functionName:    WinPrAsn1EncContextualContainer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 384
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getAsn1Container
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:384,9'
          Dst:             getAsn1Container
    - functionName:    WinPrAsn1EncContextualSetContainer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getAsn1Container
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:379,9'
          Dst:             getAsn1Container
    - functionName:    WinPrAsn1EncContextualSeqContainer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getAsn1Container
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:374,9'
          Dst:             getAsn1Container
    - functionName:    WinPrAsn1EncSetContainer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getAsn1Container
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:369,9'
          Dst:             getAsn1Container
    - functionName:    WinPrAsn1EncSeqContainer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getAsn1Container
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:364,9'
          Dst:             getAsn1Container
    - functionName:    WinPrAsn1EncAppContainer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          37
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - getAsn1Container
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:358,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:359,9'
          Dst:             getAsn1Container
    - functionName:    WinPrAsn1Encoder_FreeNoNull
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          67
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:198,3'
          Dst:             Stream_Free
    - functionName:    WinPrAsn1Encoder_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - WinPrAsn1Encoder_FreeNoNull
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:183,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:184,2'
          Dst:             WinPrAsn1Encoder_FreeNoNull
    - functionName:    WinPrAsn1Encoder_Reset
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:173,2'
          Dst:             winpr_int_assert
    - functionName:    WinPrAsn1Encoder_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          70
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_New
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:152,26'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:157,14'
          Dst:             Stream_New
    - functionName:    WinPrAsn1FreeOctetString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          57
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - WinPrAsn1FreeOID
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:87,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:91,2'
          Dst:             WinPrAsn1FreeOID
    - functionName:    WinPrAsn1FreeOID
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/asn1/asn1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          38
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/asn1/asn1.c:79,2'
          Dst:             winpr_int_assert
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          76
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/../handle/handle.h:130,3'
          Dst:             SetLastError
    - functionName:    ProcessCleanupHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 646
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          109
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - waitpid
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:633,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/process.c:636,7'
          Dst:             waitpid
    - functionName:    waitpid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ProcessGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 620
      functionLinenumberEnd: 627
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ProcessHandleIsHandle
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:623,7'
          Dst:             ProcessHandleIsHandle
    - functionName:    ProcessHandleIsHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 615
      functionLinenumberEnd: 616
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WINPR_HANDLE_IS_HANDLED
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:616,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    pidfd_open
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 705
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          118
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - close
        - fcntl64
        - syscall
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:682,12'
          Dst:             syscall
        - Src:             'winpr/libwinpr/thread/process.c:683,16'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/thread/process.c:688,8'
          Dst:             syscall
        - Src:             'winpr/libwinpr/thread/process.c:692,11'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/thread/process.c:693,22'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/thread/process.c:695,4'
          Dst:             close
    - functionName:    syscall
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __errno_location
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    136
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fcntl64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    close
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    26
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ProcessHandleCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 602
      functionLinenumberEnd: 611
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          51
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - close
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:604,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/process.c:607,3'
          Dst:             close
    - functionName:    CreateProcessHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 708
      functionLinenumberEnd: 722
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - pidfd_open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:710,28'
          Dst:             calloc
        - Src:             'winpr/libwinpr/thread/process.c:718,16'
          Dst:             pidfd_open
    - functionName:    winpr_Handle_getFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_Handle_GetInfo
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/../handle/handle.h:174,7'
          Dst:             winpr_Handle_GetInfo
    - functionName:    FindApplicationPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          129
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - GetCombinedPath
        - GetEnvironmentVariableA
        - _strdup
        - strtok_s
        - winpr_PathFileExists
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:112,10'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/thread/process.c:114,10'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/thread/process.c:117,10'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/thread/process.c:124,6'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/thread/process.c:131,9'
          Dst:             strtok_s
        - Src:             'winpr/libwinpr/thread/process.c:135,14'
          Dst:             GetCombinedPath
        - Src:             'winpr/libwinpr/thread/process.c:137,7'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/thread/process.c:144,10'
          Dst:             strtok_s
    - functionName:    TerminateProcess
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          57
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - kill
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:595,6'
          Dst:             kill
    - functionName:    kill
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetCurrentProcessId
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getpid
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:584,17'
          Dst:             getpid
    - 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:    _GetCurrentProcess
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 577
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:578,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    GetExitCodeProcess
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 574
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateProcessWithTokenW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 552
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:551,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    CreateProcessWithTokenA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 539
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CreateProcessExA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:537,9'
          Dst:             CreateProcessExA
    - functionName:    CreateProcessExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         96
      ICount:          569
      EdgeCount:       129
      CyclomaticComplexity: 35
      functionsReached:
        - CommandLineToArgvA
        - CreateNoneHandle
        - CreateProcessHandle
        - EnvironmentBlockToEnvpA
        - FindApplicationPath
        - FreeEnvironmentStringsA
        - GetEnvironmentStrings
        - ProcessHandleCloseHandle
        - _exit
        - chdir
        - close
        - dup2
        - execve
        - fork
        - initgroups
        - pthread_sigmask
        - setgid
        - setuid
        - sigaction
        - sigemptyset
        - sigfillset
        - strlen
        - sysconf
        - winpr_Handle_getFd
        - winpr_asprintf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:185,3'
          Dst:             winpr_asprintf
        - Src:             'winpr/libwinpr/thread/process.c:188,11'
          Dst:             CommandLineToArgvA
        - Src:             'winpr/libwinpr/thread/process.c:192,11'
          Dst:             CommandLineToArgvA
        - Src:             'winpr/libwinpr/thread/process.c:194,11'
          Dst:             CommandLineToArgvA
        - Src:             'winpr/libwinpr/thread/process.c:203,10'
          Dst:             EnvironmentBlockToEnvpA
        - Src:             'winpr/libwinpr/thread/process.c:207,26'
          Dst:             GetEnvironmentStrings
        - Src:             'winpr/libwinpr/thread/process.c:212,10'
          Dst:             EnvironmentBlockToEnvpA
        - Src:             'winpr/libwinpr/thread/process.c:218,13'
          Dst:             FindApplicationPath
        - Src:             'winpr/libwinpr/thread/process.c:224,2'
          Dst:             sigfillset
        - Src:             'winpr/libwinpr/thread/process.c:225,20'
          Dst:             pthread_sigmask
        - Src:             'winpr/libwinpr/thread/process.c:227,8'
          Dst:             fork
        - Src:             'winpr/libwinpr/thread/process.c:246,3'
          Dst:             sigemptyset
        - Src:             'winpr/libwinpr/thread/process.c:249,4'
          Dst:             sigaction
        - Src:             'winpr/libwinpr/thread/process.c:252,3'
          Dst:             sigfillset
        - Src:             'winpr/libwinpr/thread/process.c:253,3'
          Dst:             pthread_sigmask
        - Src:             'winpr/libwinpr/thread/process.c:258,16'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/thread/process.c:261,5'
          Dst:             dup2
        - Src:             'winpr/libwinpr/thread/process.c:263,16'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/thread/process.c:266,5'
          Dst:             dup2
        - Src:             'winpr/libwinpr/thread/process.c:268,16'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/thread/process.c:271,5'
          Dst:             dup2
        - Src:             'winpr/libwinpr/thread/process.c:281,20'
          Dst:             sysconf
        - Src:             'winpr/libwinpr/thread/process.c:289,4'
          Dst:             close
        - Src:             'winpr/libwinpr/thread/process.c:297,14'
          Dst:             setgid
        - Src:             'winpr/libwinpr/thread/process.c:304,6'
          Dst:             initgroups
        - Src:             'winpr/libwinpr/thread/process.c:310,14'
          Dst:             setuid
        - Src:             'winpr/libwinpr/thread/process.c:317,29'
          Dst:             strlen
        - Src:             'winpr/libwinpr/thread/process.c:319,13'
          Dst:             chdir
        - Src:             'winpr/libwinpr/thread/process.c:324,7'
          Dst:             execve
        - Src:             'winpr/libwinpr/thread/process.c:327,4'
          Dst:             _exit
        - Src:             'winpr/libwinpr/thread/process.c:335,12'
          Dst:             CreateProcessHandle
        - Src:             'winpr/libwinpr/thread/process.c:342,11'
          Dst:             CreateNoneHandle
        - Src:             'winpr/libwinpr/thread/process.c:346,3'
          Dst:             ProcessHandleCloseHandle
        - Src:             'winpr/libwinpr/thread/process.c:359,3'
          Dst:             pthread_sigmask
        - Src:             'winpr/libwinpr/thread/process.c:365,3'
          Dst:             FreeEnvironmentStringsA
    - functionName:    sigfillset
      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:    pthread_sigmask
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fork
      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:    sigemptyset
      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:    sigaction
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dup2
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sysconf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setgid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    initgroups
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chdir
      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:    execve
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      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:    _exit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateProcessWithLogonW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 526
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:527,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    CreateProcessWithLogonA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 514
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      int
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:515,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    CreateProcessAsUserW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 502
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      int
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:503,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    CreateProcessAsUserA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 488
      functionDepth:   0
      returnType:      int
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          45
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CreateProcessExA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:486,9'
          Dst:             CreateProcessExA
    - functionName:    CreateProcessW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 477
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          318
      EdgeCount:       58
      CyclomaticComplexity: 14
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - CreateProcessA
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:404,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/process.c:405,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/process.c:432,24'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:438,20'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:444,25'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:450,29'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:456,28'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:462,26'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:467,7'
          Dst:             CreateProcessA
    - functionName:    CreateProcessA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 388
      functionLinenumberEnd: 391
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CreateProcessExA
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:389,9'
          Dst:             CreateProcessExA
    - functionName:    _getprotobyname
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1293
      functionLinenumberEnd: 1295
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getprotobyname
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1295,9'
          Dst:             getprotobyname
    - functionName:    getprotobyname
      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:    _getprotobynumber
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1287
      functionLinenumberEnd: 1289
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getprotobynumber
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1289,9'
          Dst:             getprotobynumber
    - functionName:    getprotobynumber
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _getservbyname
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1281
      functionLinenumberEnd: 1283
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getservbyname
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1283,9'
          Dst:             getservbyname
    - functionName:    getservbyname
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _getservbyport
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1273
      functionLinenumberEnd: 1275
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getservbyport
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1275,9'
          Dst:             getservbyport
    - functionName:    getservbyport
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _gethostname
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1266
      functionLinenumberEnd: 1269
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gethostname
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1268,11'
          Dst:             gethostname
    - functionName:    gethostname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _gethostbyname
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1259
      functionLinenumberEnd: 1262
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gethostbyname
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1261,25'
          Dst:             gethostbyname
    - functionName:    gethostbyname
      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:    _gethostbyaddr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1251
      functionLinenumberEnd: 1255
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gethostbyaddr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1254,9'
          Dst:             gethostbyaddr
    - functionName:    gethostbyaddr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _shutdown
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1208
      functionLinenumberEnd: 1235
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - shutdown
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/winsock/winsock.c:1213,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1233,11'
          Dst:             shutdown
    - functionName:    shutdown
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _setsockopt
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1200
      functionLinenumberEnd: 1204
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - size_t
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - setsockopt
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1203,11'
          Dst:             setsockopt
    - functionName:    setsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _sendto
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1192
      functionLinenumberEnd: 1196
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - size_t
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sendto
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1195,16'
          Dst:             sendto
    - functionName:    sendto
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _send
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1183
      functionLinenumberEnd: 1188
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - send
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1187,16'
          Dst:             send
    - functionName:    send
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _select
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1166
      functionLinenumberEnd: 1179
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          61
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - select
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1176,12'
          Dst:             select
        - Src:             'winpr/libwinpr/winsock/winsock.c:1177,28'
          Dst:             __errno_location
    - functionName:    select
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _recvfrom
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1155
      functionLinenumberEnd: 1161
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - size_t
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - recvfrom
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1159,16'
          Dst:             recvfrom
    - functionName:    recvfrom
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _recv
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1147
      functionLinenumberEnd: 1151
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - size_t
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - recv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1150,16'
          Dst:             recv
    - functionName:    recv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ntohs
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1142
      functionLinenumberEnd: 1143
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ntohs
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1143,9'
          Dst:             ntohs
    - functionName:    ntohs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ntohl
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1136
      functionLinenumberEnd: 1138
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - ntohl
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1137,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/winsock/winsock.c:1138,9'
          Dst:             ntohl
    - functionName:    ntohl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _listen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1128
      functionLinenumberEnd: 1132
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - listen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1131,11'
          Dst:             listen
    - functionName:    listen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _inet_ntoa
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1122
      functionLinenumberEnd: 1124
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - inet_ntoa
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1124,9'
          Dst:             inet_ntoa
    - functionName:    inet_ntoa
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _inet_addr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1117
      functionLinenumberEnd: 1118
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          89
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - inet_addr
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1118,9'
          Dst:             inet_addr
        - Src:             'winpr/libwinpr/winsock/winsock.c:1118,9'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/winsock/winsock.c:1118,9'
          Dst:             winpr_int_assert
    - functionName:    inet_addr
      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:    _htons
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1112
      functionLinenumberEnd: 1113
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - htons
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1113,9'
          Dst:             htons
    - functionName:    htons
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _htonl
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1106
      functionLinenumberEnd: 1108
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - htonl
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1107,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/winsock/winsock.c:1108,9'
          Dst:             htonl
    - functionName:    htonl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _getsockopt
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1096
      functionLinenumberEnd: 1102
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - size_t
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getsockopt
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1100,11'
          Dst:             getsockopt
    - functionName:    getsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _getsockname
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1086
      functionLinenumberEnd: 1092
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getsockname
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1090,11'
          Dst:             getsockname
    - functionName:    getsockname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _getpeername
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1076
      functionLinenumberEnd: 1082
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getpeername
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1080,11'
          Dst:             getpeername
    - functionName:    getpeername
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _connect
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1038
      functionLinenumberEnd: 1047
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - connect
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1041,11'
          Dst:             connect
    - functionName:    connect
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    closesocket
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1030
      functionLinenumberEnd: 1034
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - close
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1033,11'
          Dst:             close
    - functionName:    _bind
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1018
      functionLinenumberEnd: 1027
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - bind
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1021,11'
          Dst:             bind
    - functionName:    bind
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _accept
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1009
      functionLinenumberEnd: 1014
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          108
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - accept
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1010,11'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/winsock/winsock.c:1010,11'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/winsock/winsock.c:1012,21'
          Dst:             accept
    - functionName:    accept
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WSAIoctl
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 798
      functionLinenumberEnd: 1006
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - size_t
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          467
      EdgeCount:       85
      CyclomaticComplexity: 25
      functionsReached:
        - WSASetLastError
        - getnameinfo
        - inet_pton
        - ioctl
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:821,3'
          Dst:             WSASetLastError
        - Src:             'winpr/libwinpr/winsock/winsock.c:922,6'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/winsock/winsock.c:924,3'
          Dst:             WSASetLastError
        - Src:             'winpr/libwinpr/winsock/winsock.c:941,7'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/winsock/winsock.c:963,7'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/winsock/winsock.c:969,3'
          Dst:             getnameinfo
        - Src:             'winpr/libwinpr/winsock/winsock.c:971,3'
          Dst:             inet_pton
        - Src:             'winpr/libwinpr/winsock/winsock.c:973,7'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/winsock/winsock.c:979,3'
          Dst:             getnameinfo
        - Src:             'winpr/libwinpr/winsock/winsock.c:981,3'
          Dst:             inet_pton
        - Src:             'winpr/libwinpr/winsock/winsock.c:983,7'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/winsock/winsock.c:989,3'
          Dst:             getnameinfo
        - Src:             'winpr/libwinpr/winsock/winsock.c:991,3'
          Dst:             inet_pton
    - functionName:    WSASetLastError
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 500
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         47
      ICount:          273
      EdgeCount:       93
      CyclomaticComplexity: 48
      functionsReached:
        - __errno_location
      functionUses:    2
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/winsock/winsock.c:319,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:323,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:327,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:331,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:335,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:339,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:343,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:349,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:353,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:357,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:361,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:365,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:369,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:373,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:377,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:381,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:385,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:389,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:393,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:397,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:401,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:405,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:409,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:413,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:417,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:421,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:425,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:429,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:433,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:437,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:441,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:445,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:449,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:453,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:457,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:461,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:465,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:469,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:473,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:483,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:487,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:491,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/winsock/winsock.c:495,4'
          Dst:             __errno_location
    - functionName:    ioctl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getnameinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    inet_pton
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WSASocketW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 790
      functionLinenumberEnd: 791
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WSASocketA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:791,9'
          Dst:             WSASocketA
    - functionName:    WSASocketA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 782
      functionLinenumberEnd: 785
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:784,6'
          Dst:             _socket
    - functionName:    _socket
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1238
      functionLinenumberEnd: 1248
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - socket
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1241,7'
          Dst:             socket
    - functionName:    socket
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WSAWaitForMultipleEvents
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 775
      functionLinenumberEnd: 776
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WaitForMultipleObjectsEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:776,9'
          Dst:             WaitForMultipleObjectsEx
    - functionName:    _ioctlsocket
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1051
      functionLinenumberEnd: 1073
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          77
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - fcntl64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:1061,11'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/winsock/winsock.c:1067,10'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/winsock/winsock.c:1069,10'
          Dst:             fcntl64
    - functionName:    WSAEventSelect
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 751
      functionLinenumberEnd: 771
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          92
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - SetEventFileDescriptor
        - _ioctlsocket
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:755,6'
          Dst:             _ioctlsocket
        - Src:             'winpr/libwinpr/winsock/winsock.c:767,6'
          Dst:             SetEventFileDescriptor
    - functionName:    WSACloseEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 741
      functionLinenumberEnd: 747
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CloseHandle
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:742,16'
          Dst:             CloseHandle
        - Src:             'winpr/libwinpr/winsock/winsock.c:745,3'
          Dst:             SetLastError
    - functionName:    WSAResetEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WSASetEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 729
      functionLinenumberEnd: 730
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetEvent
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:730,9'
          Dst:             SetEvent
    - functionName:    WSACreateEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 724
      functionLinenumberEnd: 725
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CreateEventA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:725,9'
          Dst:             CreateEventA
    - functionName:    WSAGetLastError
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 720
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         48
      ICount:          238
      EdgeCount:       95
      CyclomaticComplexity: 49
      functionsReached:
        - __errno_location
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/winsock/winsock.c:506,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:506,10'
          Dst:             __errno_location
    - functionName:    WSACleanup
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WSAStartup
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/winsock/winsock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          39
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/winsock/winsock.c:304,2'
          Dst:             winpr_int_assert
    - functionName:    ConvertMszUtf8NToWCharAlloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 644
      functionLinenumberEnd: 664
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          110
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - ConvertMszUtf8NToWChar
        - calloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:646,21'
          Dst:             ConvertMszUtf8NToWChar
        - Src:             'winpr/libwinpr/crt/unicode.c:651,8'
          Dst:             calloc
        - Src:             'winpr/libwinpr/crt/unicode.c:654,22'
          Dst:             ConvertMszUtf8NToWChar
        - Src:             'winpr/libwinpr/crt/unicode.c:660,2'
          Dst:             winpr_int_assert
    - functionName:    ConvertMszUtf8NToWChar
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 524
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          108
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - MultiByteToWideChar
        - SetLastError
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:507,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode.c:511,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/crt/unicode.c:518,17'
          Dst:             MultiByteToWideChar
    - functionName:    MultiByteToWideChar
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - int_MultiByteToWideChar
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:156,9'
          Dst:             int_MultiByteToWideChar
    - functionName:    ConvertUtf8NToWCharAlloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 641
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          110
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - ConvertUtf8NToWChar
        - calloc
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:623,21'
          Dst:             ConvertUtf8NToWChar
        - Src:             'winpr/libwinpr/crt/unicode.c:628,8'
          Dst:             calloc
        - Src:             'winpr/libwinpr/crt/unicode.c:631,22'
          Dst:             ConvertUtf8NToWChar
        - Src:             'winpr/libwinpr/crt/unicode.c:637,2'
          Dst:             winpr_int_assert
    - functionName:    ConvertUtf8NToWChar
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 500
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          208
      EdgeCount:       57
      CyclomaticComplexity: 15
      functionsReached:
        - MultiByteToWideChar
        - SetLastError
        - strnlen
        - winpr_int_assert
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:463,16'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/crt/unicode.c:468,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode.c:472,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/crt/unicode.c:484,17'
          Dst:             MultiByteToWideChar
    - functionName:    ConvertUtf8ToWCharAlloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 618
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          106
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - ConvertUtf8ToWChar
        - calloc
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:600,21'
          Dst:             ConvertUtf8ToWChar
        - Src:             'winpr/libwinpr/crt/unicode.c:605,8'
          Dst:             calloc
        - Src:             'winpr/libwinpr/crt/unicode.c:608,22'
          Dst:             ConvertUtf8ToWChar
        - Src:             'winpr/libwinpr/crt/unicode.c:614,2'
          Dst:             winpr_int_assert
    - functionName:    ConvertUtf8ToWChar
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ConvertUtf8NToWChar
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:457,21'
          Dst:             strlen
        - Src:             'winpr/libwinpr/crt/unicode.c:458,9'
          Dst:             ConvertUtf8NToWChar
    - functionName:    ConvertMszWCharNToUtf8Alloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          110
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - ConvertMszWCharNToUtf8
        - calloc
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:576,21'
          Dst:             ConvertMszWCharNToUtf8
        - Src:             'winpr/libwinpr/crt/unicode.c:582,8'
          Dst:             calloc
        - Src:             'winpr/libwinpr/crt/unicode.c:585,22'
          Dst:             ConvertMszWCharNToUtf8
        - Src:             'winpr/libwinpr/crt/unicode.c:591,2'
          Dst:             winpr_int_assert
    - functionName:    ConvertMszWCharNToUtf8
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 425
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          108
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - SetLastError
        - WideCharToMultiByte
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:429,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode.c:433,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/crt/unicode.c:440,17'
          Dst:             WideCharToMultiByte
    - functionName:    WideCharToMultiByte
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - int_WideCharToMultiByte
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:208,9'
          Dst:             int_WideCharToMultiByte
    - functionName:    ConvertWCharNToUtf8Alloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          110
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - ConvertWCharNToUtf8
        - calloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:552,21'
          Dst:             ConvertWCharNToUtf8
        - Src:             'winpr/libwinpr/crt/unicode.c:558,8'
          Dst:             calloc
        - Src:             'winpr/libwinpr/crt/unicode.c:561,22'
          Dst:             ConvertWCharNToUtf8
        - Src:             'winpr/libwinpr/crt/unicode.c:567,2'
          Dst:             winpr_int_assert
    - functionName:    ConvertWCharNToUtf8
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          209
      EdgeCount:       58
      CyclomaticComplexity: 15
      functionsReached:
        - SetLastError
        - WideCharToMultiByte
        - _wcsnlen
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:389,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode.c:390,17'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/crt/unicode.c:394,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/crt/unicode.c:406,6'
          Dst:             WideCharToMultiByte
    - functionName:    ConvertWCharToUtf8Alloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 527
      functionLinenumberEnd: 547
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          106
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - ConvertWCharToUtf8
        - calloc
        - winpr_int_assert
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:529,21'
          Dst:             ConvertWCharToUtf8
        - Src:             'winpr/libwinpr/crt/unicode.c:534,8'
          Dst:             calloc
        - Src:             'winpr/libwinpr/crt/unicode.c:537,22'
          Dst:             ConvertWCharToUtf8
        - Src:             'winpr/libwinpr/crt/unicode.c:543,2'
          Dst:             winpr_int_assert
    - functionName:    ConvertWCharToUtf8
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 371
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ConvertWCharNToUtf8
        - _wcslen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:379,22'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/crt/unicode.c:380,9'
          Dst:             ConvertWCharNToUtf8
    - functionName:    _byteswap_ushort
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/crt.h'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteSwapUnicode
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          68
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - _byteswap_ushort
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode.c:363,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode.c:366,13'
          Dst:             _byteswap_ushort
    - functionName:    hex2bin
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          48
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_str_has_newlines
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 952
      functionLinenumberEnd: 985
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          90
      EdgeCount:       45
      CyclomaticComplexity: 24
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/crt/string.c:958,3'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/crt/string.c:968,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    winpr_strnstr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 928
      functionLinenumberEnd: 949
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          138
      EdgeCount:       39
      CyclomaticComplexity: 8
      functionsReached:
        - strlen
        - strncmp
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:929,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:930,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:937,28'
          Dst:             strlen
        - Src:             'winpr/libwinpr/crt/string.c:944,43'
          Dst:             strncmp
    - functionName:    wcsndup
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 916
      functionLinenumberEnd: 925
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:920,16'
          Dst:             calloc
    - functionName:    InitializeConstWCharFromUtf8
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 908
      functionLinenumberEnd: 912
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          61
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - ConvertUtf8ToWChar
        - winpr_int_assert
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:909,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:910,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:911,8'
          Dst:             ConvertUtf8ToWChar
    - functionName:    GetLine
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 854
      functionLinenumberEnd: 891
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - getline
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:891,9'
          Dst:             getline
    - functionName:    getline
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      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:    StrSep
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 837
      functionLinenumberEnd: 850
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strpbrk
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:840,27'
          Dst:             strpbrk
    - functionName:    strpbrk
      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:    ConvertLineEndingToCRLF
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 782
      functionLinenumberEnd: 834
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         45
      ICount:          233
      EdgeCount:       50
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/crt/string.c:795,3'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/crt/string.c:813,3'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:783,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:785,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:805,14'
          Dst:             calloc
    - functionName:    ConvertLineEndingToLF
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 778
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          122
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/crt/string.c:766,3'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:762,2'
          Dst:             winpr_int_assert
    - functionName:    IsCharLowerW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 749
      functionLinenumberEnd: 754
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsCharLowerA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 741
      functionLinenumberEnd: 746
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsCharUpperW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 733
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsCharUpperA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 725
      functionLinenumberEnd: 730
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsCharAlphaNumericW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 716
      functionLinenumberEnd: 722
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          78
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsCharAlphaNumericA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 707
      functionLinenumberEnd: 713
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          78
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsCharAlphaW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 699
      functionLinenumberEnd: 704
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          56
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsCharAlphaA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 691
      functionLinenumberEnd: 696
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          56
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CharLowerBuffA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 665
      functionLinenumberEnd: 676
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CharLowerBuffW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 687
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          68
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_Data_Get_UINT16
        - winpr_Data_Write_UINT16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:682,17'
          Dst:             winpr_Data_Get_UINT16
        - Src:             'winpr/libwinpr/crt/string.c:684,3'
          Dst:             winpr_Data_Write_UINT16
    - functionName:    winpr_Data_Get_UINT16
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:60,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_UINT16
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:236,3'
          Dst:             winpr_int_assert
    - functionName:    CharLowerW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 662
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CharLowerBuffW
        - _wcsnlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:657,21'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/crt/string.c:660,2'
          Dst:             CharLowerBuffW
    - functionName:    _wcsnlen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 407
      functionLinenumberEnd: 418
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          65
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_int_assert
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:408,2'
          Dst:             winpr_int_assert
    - functionName:    CharLowerA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 624
      functionLinenumberEnd: 653
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          141
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:630,11'
          Dst:             strlen
    - functionName:    CharUpperBuffW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 612
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          68
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_Data_Get_UINT16
        - winpr_Data_Write_UINT16
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:615,17'
          Dst:             winpr_Data_Get_UINT16
        - Src:             'winpr/libwinpr/crt/string.c:617,3'
          Dst:             winpr_Data_Write_UINT16
    - functionName:    CharUpperBuffA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 609
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CharUpperW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 566
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          141
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - _wcslen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:572,11'
          Dst:             _wcslen
    - functionName:    _wcslen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          49
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    28
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:396,2'
          Dst:             winpr_int_assert
    - functionName:    CharUpperA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 534
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          141
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:540,11'
          Dst:             strlen
    - functionName:    wcstok_s
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 521
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          143
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - _wcschr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:498,22'
          Dst:             _wcschr
        - Src:             'winpr/libwinpr/crt/string.c:510,24'
          Dst:             _wcschr
    - functionName:    _wcschr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 443
      functionLinenumberEnd: 455
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strtok_s
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 484
      functionLinenumberEnd: 485
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strtok_r
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:485,9'
          Dst:             strtok_r
    - functionName:    strtok_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      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:    _wcsrchr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 461
      functionLinenumberEnd: 481
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _wcsstr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 423
      functionLinenumberEnd: 438
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          100
      EdgeCount:       26
      CyclomaticComplexity: 5
      functionsReached:
        - _wcslen
        - _wcsncmp
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:424,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:425,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:430,27'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/crt/string.c:433,7'
          Dst:             _wcsncmp
    - functionName:    _wcsncmp
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          119
      EdgeCount:       32
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:374,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:375,2'
          Dst:             winpr_int_assert
    - functionName:    _wcscmp
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          101
      EdgeCount:       28
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:357,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:358,2'
          Dst:             winpr_int_assert
    - functionName:    _strnicmp
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strncasecmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:350,9'
          Dst:             strncasecmp
    - functionName:    strncasecmp
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _stricmp
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strcasecmp
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:345,9'
          Dst:             strcasecmp
    - functionName:    strcasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _wcsncat
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 331
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          98
      EdgeCount:       24
      CyclomaticComplexity: 4
      functionsReached:
        - _wcslen
        - _wcsnlen
        - winpr_int_assert
      functionUses:    36
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:332,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:333,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/string.c:335,22'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/crt/string.c:336,22'
          Dst:             _wcsnlen
    - functionName:    _wcsdup
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          63
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - _wcslen
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:318,15'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/crt/string.c:319,26'
          Dst:             calloc
        - Src:             'winpr/libwinpr/crt/string.c:325,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    _strdup
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
        - strdup
      functionUses:    29
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:305,25'
          Dst:             strdup
        - Src:             'winpr/libwinpr/crt/string.c:308,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    strdup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_vasprintf
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          100
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - vsnprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:275,21'
          Dst:             vsnprintf
        - Src:             'winpr/libwinpr/crt/string.c:280,14'
          Dst:             calloc
        - Src:             'winpr/libwinpr/crt/string.c:285,19'
          Dst:             vsnprintf
    - functionName:    winpr_asprintf
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_vasprintf
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:261,11'
          Dst:             winpr_vasprintf
    - functionName:    winpr_str_append
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          108
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - strncat
        - strnlen
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:240,22'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/crt/string.c:241,21'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/crt/string.c:242,37'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/crt/string.c:249,3'
          Dst:             strncat
        - Src:             'winpr/libwinpr/crt/string.c:251,2'
          Dst:             strncat
    - functionName:    strncat
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_str_is_valid_url
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - printf
        - regcomp
        - regexec
        - regfree
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:216,12'
          Dst:             regcomp
        - Src:             'winpr/libwinpr/crt/string.c:219,3'
          Dst:             printf
        - Src:             'winpr/libwinpr/crt/string.c:223,8'
          Dst:             regexec
        - Src:             'winpr/libwinpr/crt/string.c:224,2'
          Dst:             regfree
    - functionName:    regcomp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    printf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regexec
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    regfree
      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:    winpr_str_is_valid_urlN
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - strndup
        - winpr_str_is_valid_url
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:189,14'
          Dst:             strndup
        - Src:             'winpr/libwinpr/crt/string.c:193,18'
          Dst:             winpr_str_is_valid_url
    - functionName:    strndup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    escape
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:165,2'
          Dst:             sprintf
    - functionName:    sprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_str_url_encode
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          67
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - escape
        - strnlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:171,14'
          Dst:             calloc
        - Src:             'winpr/libwinpr/crt/string.c:176,25'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/crt/string.c:179,9'
          Dst:             escape
    - functionName:    unescape
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          89
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __ctype_b_loc
        - hex2bin
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:133,25'
          Dst:             __ctype_b_loc
        - Src:             'winpr/libwinpr/crt/string.c:133,46'
          Dst:             __ctype_b_loc
        - Src:             'winpr/libwinpr/crt/string.c:136,15'
          Dst:             hex2bin
        - Src:             'winpr/libwinpr/crt/string.c:136,34'
          Dst:             hex2bin
    - functionName:    __ctype_b_loc
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_str_url_decode
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/string.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - strnlen
        - unescape
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/string.c:144,14'
          Dst:             calloc
        - Src:             'winpr/libwinpr/crt/string.c:149,25'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/crt/string.c:152,16'
          Dst:             unescape
    - functionName:    winpr_int_assert
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/assert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 30
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - abort
        - winpr_log_backtrace_ex
      functionUses:    818
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/assert.c:27,26'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/crt/assert.c:28,2'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/crt/assert.c:28,2'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/crt/assert.c:29,2'
          Dst:             winpr_log_backtrace_ex
        - Src:             'winpr/libwinpr/crt/assert.c:30,2'
          Dst:             abort
    - functionName:    abort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_ConvertUTF16toUTF8_Internal
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         71
      ICount:          412
      EdgeCount:       86
      CyclomaticComplexity: 17
      functionsReached:
        - setWcharFrom
      functionUses:    2
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/crt/unicode_builtin.c:258,4'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/crt/unicode_builtin.c:287,4'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:179,8'
          Dst:             setWcharFrom
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:187,20'
          Dst:             setWcharFrom
    - functionName:    setWcharFrom
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    isLegalUTF8
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      bool
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         46
      ICount:          228
      EdgeCount:       56
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/crt/unicode_builtin.c:339,2'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/crt/unicode_builtin.c:361,4'
          Branch Sides:    []
      Callsites:       []
    - functionName:    winpr_ConvertUTF8toUTF16_Internal
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 562
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         86
      ICount:          507
      EdgeCount:       105
      CyclomaticComplexity: 21
      functionsReached:
        - isLegalUTF8
        - setWcharFrom
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/crt/unicode_builtin.c:442,3'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:424,7'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:424,7'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:433,8'
          Dst:             isLegalUTF8
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:505,19'
          Dst:             setWcharFrom
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:513,18'
          Dst:             setWcharFrom
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:529,18'
          Dst:             setWcharFrom
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:548,17'
          Dst:             setWcharFrom
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:549,17'
          Dst:             setWcharFrom
    - functionName:    winpr_ConvertUTF16toUTF8
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 650
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          191
      EdgeCount:       43
      CyclomaticComplexity: 9
      functionsReached:
        - SetLastError
        - _wcsnlen
        - winpr_ConvertUTF16toUTF8_Internal
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:620,17'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:628,7'
          Dst:             winpr_ConvertUTF16toUTF8_Internal
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:638,7'
          Dst:             winpr_ConvertUTF16toUTF8_Internal
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:645,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:649,36'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:649,36'
          Dst:             winpr_int_assert
    - functionName:    int_WideCharToMultiByte
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 698
      functionLinenumberEnd: 729
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          187
      EdgeCount:       51
      CyclomaticComplexity: 10
      functionsReached:
        - _wcslen
        - winpr_ConvertUTF16toUTF8
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:709,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:713,22'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:727,34'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:727,34'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:726,9'
          Dst:             winpr_ConvertUTF16toUTF8
    - functionName:    winpr_ConvertUTF8toUTF16
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 608
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          193
      EdgeCount:       43
      CyclomaticComplexity: 9
      functionsReached:
        - SetLastError
        - strnlen
        - winpr_ConvertUTF8toUTF16_Internal
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:578,17'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:586,7'
          Dst:             winpr_ConvertUTF8toUTF16_Internal
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:596,7'
          Dst:             winpr_ConvertUTF8toUTF16_Internal
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:603,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:607,36'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:607,36'
          Dst:             winpr_int_assert
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    int_MultiByteToWideChar
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/unicode_builtin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          203
      EdgeCount:       55
      CyclomaticComplexity: 9
      functionsReached:
        - WLog_Print_dbg_tag
        - strlen
        - winpr_ConvertUTF8toUTF16
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/crt/unicode_builtin.c:679,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:670,22'
          Dst:             strlen
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:678,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:686,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:691,34'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:691,34'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/crt/unicode_builtin.c:690,9'
          Dst:             winpr_ConvertUTF8toUTF16
    - functionName:    DeleteCriticalSection
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/critical.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - sem_destroy
        - winpr_int_assert
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/critical.c:259,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/critical.c:271,3'
          Dst:             sem_destroy
    - functionName:    sem_destroy
      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:    UnWaitCriticalSection
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/critical.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          46
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - sem_post
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/critical.c:145,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/critical.c:146,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/critical.c:150,2'
          Dst:             sem_post
    - functionName:    sem_post
      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:    LeaveCriticalSection
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/critical.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          60
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - InterlockedDecrement
        - UnWaitCriticalSection
        - winpr_int_assert
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/critical.c:237,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/critical.c:245,7'
          Dst:             InterlockedDecrement
        - Src:             'winpr/libwinpr/synch/critical.c:248,4'
          Dst:             UnWaitCriticalSection
        - Src:             'winpr/libwinpr/synch/critical.c:253,9'
          Dst:             InterlockedDecrement
    - functionName:    TryEnterCriticalSection
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/critical.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - GetCurrentThreadId
        - InterlockedCompareExchange
        - InterlockedIncrement
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/critical.c:211,45'
          Dst:             GetCurrentThreadId
        - Src:             'winpr/libwinpr/synch/critical.c:213,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/critical.c:216,6'
          Dst:             InterlockedCompareExchange
        - Src:             'winpr/libwinpr/synch/critical.c:228,3'
          Dst:             InterlockedIncrement
    - functionName:    WaitForCriticalSection
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/critical.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          46
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - sem_wait
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/critical.c:133,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/critical.c:134,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/critical.c:139,2'
          Dst:             sem_wait
    - functionName:    sem_wait
      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:    EnterCriticalSection
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/critical.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          68
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - GetCurrentThreadId
        - InterlockedIncrement
        - WaitForCriticalSection
        - winpr_int_assert
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/critical.c:156,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/critical.c:190,6'
          Dst:             InterlockedIncrement
        - Src:             'winpr/libwinpr/synch/critical.c:193,61'
          Dst:             GetCurrentThreadId
        - Src:             'winpr/libwinpr/synch/critical.c:201,3'
          Dst:             WaitForCriticalSection
        - Src:             'winpr/libwinpr/synch/critical.c:206,55'
          Dst:             GetCurrentThreadId
    - functionName:    InitializeCriticalSectionAndSpinCount
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/critical.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - InitializeCriticalSectionEx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/critical.c:103,9'
          Dst:             InitializeCriticalSectionEx
    - functionName:    InitializeCriticalSectionEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/critical.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          98
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - SetCriticalSectionSpinCount
        - WLog_Print_dbg_tag
        - sem_init
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/critical.c:56,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/critical.c:69,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/critical.c:90,6'
          Dst:             sem_init
        - Src:             'winpr/libwinpr/synch/critical.c:94,2'
          Dst:             SetCriticalSectionSpinCount
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    sem_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetCriticalSectionSpinCount
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/critical.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          30
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/critical.c:109,2'
          Dst:             winpr_int_assert
    - functionName:    InitializeCriticalSection
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/critical.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - InitializeCriticalSectionEx
        - WLog_Print_dbg_tag
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/critical.c:49,7'
          Dst:             InitializeCriticalSectionEx
        - Src:             'winpr/libwinpr/synch/critical.c:50,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          76
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/../handle/handle.h:130,3'
          Dst:             SetLastError
    - functionName:    EventGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EventIsHandled
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:188,7'
          Dst:             EventIsHandled
    - functionName:    EventIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WINPR_HANDLE_IS_HANDLED
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:181,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    EventCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EventCloseHandle_
        - EventIsHandled
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:229,7'
          Dst:             EventIsHandled
        - Src:             'winpr/libwinpr/synch/event.c:232,9'
          Dst:             EventCloseHandle_
    - functionName:    EventCloseHandle_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_event_uninit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:205,2'
          Dst:             winpr_event_uninit
    - functionName:    winpr_event_uninit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - close
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:166,3'
          Dst:             close
        - Src:             'winpr/libwinpr/synch/event.c:172,3'
          Dst:             close
    - functionName:    GetEventWaitObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 517
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetEventFileDescriptor
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:515,7'
          Dst:             GetEventFileDescriptor
    - functionName:    GetEventFileDescriptor
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_Handle_getFd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:461,9'
          Dst:             winpr_Handle_getFd
    - functionName:    winpr_Handle_getFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_Handle_GetInfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/../handle/handle.h:174,7'
          Dst:             winpr_Handle_GetInfo
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetEventFileDescriptor
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 473
      functionLinenumberEnd: 498
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          109
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - close
        - winpr_Handle_GetInfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:479,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/synch/event.c:481,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:482,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/event.c:489,3'
          Dst:             close
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    CreateWaitObjectEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CreateFileDescriptorEventW
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:443,9'
          Dst:             CreateFileDescriptorEventW
    - functionName:    CreateFileDescriptorEventW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 405
      functionLinenumberEnd: 423
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          69
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - calloc
        - winpr_event_init_from_fd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:409,24'
          Dst:             calloc
        - Src:             'winpr/libwinpr/synch/event.c:417,3'
          Dst:             winpr_event_init_from_fd
        - Src:             'winpr/libwinpr/synch/event.c:419,3'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
    - functionName:    winpr_event_init_from_fd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateFileDescriptorEventA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 431
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CreateFileDescriptorEventW
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:432,9'
          Dst:             CreateFileDescriptorEventW
    - functionName:    ResetEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
        - winpr_event_reset
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:389,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/synch/event.c:391,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:392,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/event.c:397,9'
          Dst:             winpr_event_reset
    - functionName:    winpr_event_reset
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          65
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - eventfd_read
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:151,10'
          Dst:             eventfd_read
        - Src:             'winpr/libwinpr/synch/event.c:156,23'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/synch/event.c:159,10'
          Dst:             __errno_location
    - functionName:    eventfd_read
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OpenEventA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:362,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    OpenEventW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:352,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    CreateEventExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CreateEventA
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:340,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:343,9'
          Dst:             CreateEventA
    - functionName:    CreateEventA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          137
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - EventCloseHandle_
        - SetEvent
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - WLog_Print_dbg_tag
        - calloc
        - strdup
        - winpr_event_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:261,37'
          Dst:             calloc
        - Src:             'winpr/libwinpr/synch/event.c:264,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:270,17'
          Dst:             strdup
        - Src:             'winpr/libwinpr/synch/event.c:277,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/synch/event.c:280,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:282,7'
          Dst:             winpr_event_init
        - Src:             'winpr/libwinpr/synch/event.c:287,8'
          Dst:             SetEvent
        - Src:             'winpr/libwinpr/synch/event.c:301,2'
          Dst:             EventCloseHandle_
    - functionName:    winpr_event_init
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - eventfd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:100,18'
          Dst:             eventfd
    - functionName:    SetEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
        - winpr_event_set
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:372,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/synch/event.c:374,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:375,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/event.c:380,9'
          Dst:             winpr_event_set
    - functionName:    winpr_event_set
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - eventfd_write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:133,9'
          Dst:             eventfd_write
        - Src:             'winpr/libwinpr/synch/event.c:137,22'
          Dst:             __errno_location
    - functionName:    eventfd_write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    eventfd
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateEventExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ConvertWCharToUtf8
        - CreateEventW
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:320,3'
          Dst:             ConvertWCharToUtf8
        - Src:             'winpr/libwinpr/synch/event.c:321,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:324,9'
          Dst:             CreateEventW
    - functionName:    CreateEventW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - CreateEventA
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:248,10'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/synch/event.c:253,11'
          Dst:             CreateEventA
    - functionName:    winpr_InitOnceExecuteOnce
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          81
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - InterlockedCompareExchangePointer
        - Sleep
        - WLog_Print_dbg_tag
      functionUses:    4
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/synch/init.c:58,3'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/synch/init.c:67,9'
          Dst:             InterlockedCompareExchangePointer
        - Src:             'winpr/libwinpr/synch/init.c:91,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/init.c:95,3'
          Dst:             Sleep
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    winpr_InitOnceInitialize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/init.c:50,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_InitOnceComplete
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/init.c:44,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_InitOnceBeginInitialize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/init.c:37,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    USleep
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/sleep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usleep
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/sleep.c:125,2'
          Dst:             usleep
    - functionName:    usleep
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    SleepEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/sleep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          145
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - WLog_Print_dbg_tag
        - apc_collectFds
        - apc_executeCompletions
        - pollset_init
        - pollset_poll
        - pollset_uninit
        - usleep
        - winpr_GetCurrentThread
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/sleep.c:58,25'
          Dst:             winpr_GetCurrentThread
        - Src:             'winpr/libwinpr/synch/sleep.c:78,3'
          Dst:             usleep
        - Src:             'winpr/libwinpr/synch/sleep.c:82,7'
          Dst:             pollset_init
        - Src:             'winpr/libwinpr/synch/sleep.c:84,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/sleep.c:88,7'
          Dst:             apc_collectFds
        - Src:             'winpr/libwinpr/synch/sleep.c:90,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/sleep.c:97,12'
          Dst:             pollset_poll
        - Src:             'winpr/libwinpr/synch/sleep.c:100,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/sleep.c:105,6'
          Dst:             apc_executeCompletions
        - Src:             'winpr/libwinpr/synch/sleep.c:116,2'
          Dst:             pollset_uninit
    - functionName:    Sleep
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/sleep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usleep
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/sleep.c:53,2'
          Dst:             usleep
    - functionName:    SignalObjectAndWait
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/wait.c'
      linkageType:     InternalLinkage
      functionLinenumber: 538
      functionLinenumberEnd: 543
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SetEvent
        - WaitForSingleObjectEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/wait.c:539,7'
          Dst:             SetEvent
        - Src:             'winpr/libwinpr/synch/wait.c:542,9'
          Dst:             WaitForSingleObjectEx
    - functionName:    WaitForSingleObjectEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/wait.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          451
      EdgeCount:       100
      CyclomaticComplexity: 29
      functionsReached:
        - SetLastError
        - SleepEx
        - WLog_Print_dbg_tag
        - _GetCurrentThread
        - __errno_location
        - apc_collectFds
        - apc_executeCompletions
        - pollset_add
        - pollset_init
        - pollset_isSignaled
        - pollset_poll
        - pollset_uninit
        - pthread_mutex_lock
        - pthread_mutex_timedlock
        - ts_add_ms
        - ts_from_ns
        - waitpid
        - winpr_Handle_GetInfo
        - winpr_Handle_cleanup
        - winpr_Handle_getFd
        - winpr_strerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/wait.c:141,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/synch/wait.c:143,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:144,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/wait.c:148,37'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/synch/wait.c:157,14'
          Dst:             waitpid
        - Src:             'winpr/libwinpr/synch/wait.c:171,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/synch/wait.c:171,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/synch/wait.c:171,5'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/synch/wait.c:171,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:173,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/wait.c:189,19'
          Dst:             SleepEx
        - Src:             'winpr/libwinpr/synch/wait.c:202,30'
          Dst:             ts_from_ns
        - Src:             'winpr/libwinpr/synch/wait.c:204,4'
          Dst:             ts_add_ms
        - Src:             'winpr/libwinpr/synch/wait.c:205,13'
          Dst:             pthread_mutex_timedlock
        - Src:             'winpr/libwinpr/synch/wait.c:212,4'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/synch/wait.c:228,28'
          Dst:             _GetCurrentThread
        - Src:             'winpr/libwinpr/synch/wait.c:245,12'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/synch/wait.c:248,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:249,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/wait.c:253,8'
          Dst:             pollset_init
        - Src:             'winpr/libwinpr/synch/wait.c:255,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:256,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/wait.c:260,8'
          Dst:             pollset_add
        - Src:             'winpr/libwinpr/synch/wait.c:262,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:266,22'
          Dst:             apc_collectFds
        - Src:             'winpr/libwinpr/synch/wait.c:268,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:274,13'
          Dst:             pollset_poll
        - Src:             'winpr/libwinpr/synch/wait.c:278,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/synch/wait.c:278,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/synch/wait.c:278,5'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/synch/wait.c:278,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:285,21'
          Dst:             apc_executeCompletions
        - Src:             'winpr/libwinpr/synch/wait.c:288,11'
          Dst:             pollset_isSignaled
        - Src:             'winpr/libwinpr/synch/wait.c:289,3'
          Dst:             pollset_uninit
        - Src:             'winpr/libwinpr/synch/wait.c:294,10'
          Dst:             winpr_Handle_cleanup
        - Src:             'winpr/libwinpr/synch/wait.c:298,2'
          Dst:             pollset_uninit
        - Src:             'winpr/libwinpr/synch/wait.c:299,2'
          Dst:             SetLastError
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    winpr_Handle_getFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_Handle_GetInfo
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/../handle/handle.h:174,7'
          Dst:             winpr_Handle_GetInfo
    - functionName:    ts_from_ns
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/wait.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_GetUnixTimeNS
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/wait.c:64,20'
          Dst:             winpr_GetUnixTimeNS
    - functionName:    ts_add_ms
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/wait.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutex_timedlock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutex_lock
      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:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_Handle_cleanup
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          73
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_Handle_GetInfo
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/../handle/handle.h:189,7'
          Dst:             winpr_Handle_GetInfo
    - functionName:    WaitForMultipleObjects
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/wait.c'
      linkageType:     InternalLinkage
      functionLinenumber: 532
      functionLinenumberEnd: 533
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WaitForMultipleObjectsEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/wait.c:533,9'
          Dst:             WaitForMultipleObjectsEx
    - functionName:    WaitForMultipleObjectsEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/wait.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         96
      ICount:          570
      EdgeCount:       129
      CyclomaticComplexity: 35
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - __errno_location
        - apc_collectFds
        - apc_executeCompletions
        - pollset_add
        - pollset_init
        - pollset_isSignaled
        - pollset_poll
        - pollset_reset
        - pollset_uninit
        - winpr_GetCurrentThread
        - winpr_GetTickCount64
        - winpr_Handle_GetInfo
        - winpr_Handle_cleanup
        - winpr_Handle_getFd
        - winpr_log_backtrace
        - winpr_strerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/wait.c:328,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:334,12'
          Dst:             winpr_GetCurrentThread
        - Src:             'winpr/libwinpr/synch/wait.c:351,7'
          Dst:             pollset_init
        - Src:             'winpr/libwinpr/synch/wait.c:353,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:360,8'
          Dst:             winpr_GetTickCount64
        - Src:             'winpr/libwinpr/synch/wait.c:383,9'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/synch/wait.c:385,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:386,5'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/synch/wait.c:387,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/wait.c:391,9'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/synch/wait.c:394,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:395,5'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/synch/wait.c:396,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/wait.c:400,9'
          Dst:             pollset_add
        - Src:             'winpr/libwinpr/synch/wait.c:402,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:403,5'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/synch/wait.c:404,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/wait.c:412,22'
          Dst:             apc_collectFds
        - Src:             'winpr/libwinpr/synch/wait.c:414,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:415,4'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/synch/wait.c:416,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/wait.c:431,13'
          Dst:             pollset_poll
        - Src:             'winpr/libwinpr/synch/wait.c:436,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/synch/wait.c:436,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/synch/wait.c:436,5'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/synch/wait.c:436,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:442,5'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/synch/wait.c:443,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/wait.c:449,21'
          Dst:             apc_executeCompletions
        - Src:             'winpr/libwinpr/synch/wait.c:468,18'
          Dst:             pollset_isSignaled
        - Src:             'winpr/libwinpr/synch/wait.c:471,17'
          Dst:             winpr_Handle_cleanup
        - Src:             'winpr/libwinpr/synch/wait.c:474,7'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:508,4'
          Dst:             pollset_uninit
        - Src:             'winpr/libwinpr/synch/wait.c:510,9'
          Dst:             pollset_init
        - Src:             'winpr/libwinpr/synch/wait.c:512,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/wait.c:513,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/wait.c:518,4'
          Dst:             pollset_reset
        - Src:             'winpr/libwinpr/synch/wait.c:520,9'
          Dst:             winpr_GetTickCount64
        - Src:             'winpr/libwinpr/synch/wait.c:526,2'
          Dst:             pollset_uninit
    - functionName:    WaitForSingleObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/wait.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WaitForSingleObjectEx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/wait.c:305,9'
          Dst:             WaitForSingleObjectEx
    - functionName:    append
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 573
      functionLinenumberEnd: 575
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_str_append
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:574,2'
          Dst:             winpr_str_append
    - functionName:    UnixChangeFileMode
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1342
      functionLinenumberEnd: 1375
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          143
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - chmod
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1359,9'
          Dst:             chmod
    - functionName:    chmod
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MoveFileW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1334
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MoveFileExW
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1334,9'
          Dst:             MoveFileExW
    - functionName:    MoveFileExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1304
      functionLinenumberEnd: 1323
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - SetLastError
        - winpr_MoveFileEx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1308,30'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:1309,25'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:1314,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1318,8'
          Dst:             winpr_MoveFileEx
    - functionName:    MoveFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1327
      functionLinenumberEnd: 1328
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_MoveFileEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1328,9'
          Dst:             winpr_MoveFileEx
    - functionName:    MoveFileExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1298
      functionLinenumberEnd: 1299
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_MoveFileEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1299,9'
          Dst:             winpr_MoveFileEx
    - functionName:    RemoveDirectoryW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1278
      functionLinenumberEnd: 1294
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - SetLastError
        - winpr_RemoveDirectory
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1281,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:1286,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1290,8'
          Dst:             winpr_RemoveDirectory
    - functionName:    RemoveDirectoryA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1272
      functionLinenumberEnd: 1273
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_RemoveDirectory
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1273,9'
          Dst:             winpr_RemoveDirectory
    - functionName:    CreateDirectoryW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1252
      functionLinenumberEnd: 1268
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - CreateDirectoryA
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1255,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:1260,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1264,8'
          Dst:             CreateDirectoryA
    - functionName:    CreateDirectoryA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1247
      functionLinenumberEnd: 1248
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mkdir
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1248,9'
          Dst:             mkdir
    - functionName:    mkdir
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FindNextFileW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1194
      functionLinenumberEnd: 1218
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - ConvertFindDataAToW
        - FindNextFileA
        - SetLastError
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1195,46'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/generic.c:1199,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1203,6'
          Dst:             FindNextFileA
        - Src:             'winpr/libwinpr/file/generic.c:1205,8'
          Dst:             ConvertFindDataAToW
        - Src:             'winpr/libwinpr/file/generic.c:1207,4'
          Dst:             SetLastError
    - functionName:    FindNextFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1129
      functionLinenumberEnd: 1191
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          192
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - FilePatternMatchA
        - FindDataFromStat
        - SetLastError
        - __errno_location
        - is_valid_file_search_handle
        - map_posix_err
        - readdir64
        - stat64
        - strlen
        - strncpy
        - strnlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1136,7'
          Dst:             is_valid_file_search_handle
        - Src:             'winpr/libwinpr/file/generic.c:1142,20'
          Dst:             readdir64
        - Src:             'winpr/libwinpr/file/generic.c:1144,7'
          Dst:             FilePatternMatchA
        - Src:             'winpr/libwinpr/file/generic.c:1148,4'
          Dst:             strncpy
        - Src:             'winpr/libwinpr/file/generic.c:1149,27'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/file/generic.c:1150,21'
          Dst:             strlen
        - Src:             'winpr/libwinpr/file/generic.c:1155,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1168,8'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/generic.c:1171,32'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:1171,18'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/generic.c:1171,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1172,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:1183,14'
          Dst:             FindDataFromStat
        - Src:             'winpr/libwinpr/file/generic.c:1189,2'
          Dst:             SetLastError
    - functionName:    ConvertFindDataAToW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1041
      functionLinenumberEnd: 1062
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          108
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ConvertUtf8NToWChar
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1054,6'
          Dst:             ConvertUtf8NToWChar
        - Src:             'winpr/libwinpr/file/generic.c:1058,9'
          Dst:             ConvertUtf8NToWChar
    - functionName:    is_valid_file_search_handle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 943
      functionLinenumberEnd: 952
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:949,6'
          Dst:             strncmp
    - functionName:    readdir64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strncpy
      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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    stat64
      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:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FindDataFromStat
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 982
      functionLinenumberEnd: 1001
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          104
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FileAttributesFromStat
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:984,37'
          Dst:             FileAttributesFromStat
    - functionName:    FileAttributesFromStat
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 955
      functionLinenumberEnd: 977
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          124
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - strlen
        - strrchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:964,24'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/file/generic.c:968,26'
          Dst:             strlen
    - functionName:    FindFirstFileExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1123
      functionLinenumberEnd: 1125
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1124,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    FindFirstFileExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1112
      functionLinenumberEnd: 1114
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1113,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FindFirstFileW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1065
      functionLinenumberEnd: 1104
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          92
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - ConvertFindDataAToW
        - ConvertWCharToUtf8Alloc
        - FindClose
        - FindFirstFileA
        - SetLastError
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1071,46'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/generic.c:1075,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1079,16'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:1082,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1087,6'
          Dst:             FindFirstFileA
        - Src:             'winpr/libwinpr/file/generic.c:1092,8'
          Dst:             ConvertFindDataAToW
        - Src:             'winpr/libwinpr/file/generic.c:1094,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1095,4'
          Dst:             FindClose
    - functionName:    FindFirstFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1005
      functionLinenumberEnd: 1037
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          111
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - FindClose
        - FindNextFileA
        - PathGetSeparatorA
        - SetLastError
        - file_search_new
        - strlen
        - strrchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1008,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1017,22'
          Dst:             strlen
        - Src:             'winpr/libwinpr/file/generic.c:1018,19'
          Dst:             PathGetSeparatorA
        - Src:             'winpr/libwinpr/file/generic.c:1019,20'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/file/generic.c:1022,15'
          Dst:             strlen
        - Src:             'winpr/libwinpr/file/generic.c:1026,16'
          Dst:             file_search_new
        - Src:             'winpr/libwinpr/file/generic.c:1031,6'
          Dst:             FindNextFileA
        - Src:             'winpr/libwinpr/file/generic.c:1035,2'
          Dst:             FindClose
    - functionName:    FindClose
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1221
      functionLinenumberEnd: 1243
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          65
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - closedir
        - is_valid_file_search_handle
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1230,7'
          Dst:             is_valid_file_search_handle
        - Src:             'winpr/libwinpr/file/generic.c:1238,3'
          Dst:             closedir
    - functionName:    closedir
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    file_search_new
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 881
      functionLinenumberEnd: 940
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          212
      EdgeCount:       46
      CyclomaticComplexity: 12
      functionsReached:
        - FindClose
        - SetLastError
        - WLog_Print_dbg_tag
        - Win32ErrorCode2Tag
        - __errno_location
        - _strdup
        - calloc
        - closedir
        - map_posix_err
        - opendir
        - stat64
        - strndup
        - winpr_strerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:882,55'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/generic.c:888,24'
          Dst:             strndup
        - Src:             'winpr/libwinpr/file/generic.c:889,27'
          Dst:             strndup
        - Src:             'winpr/libwinpr/file/generic.c:893,22'
          Dst:             opendir
        - Src:             'winpr/libwinpr/file/generic.c:901,7'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/generic.c:905,25'
          Dst:             opendir
        - Src:             'winpr/libwinpr/file/generic.c:910,28'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/file/generic.c:911,31'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/file/generic.c:914,7'
          Dst:             closedir
        - Src:             'winpr/libwinpr/file/generic.c:923,36'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:923,22'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/generic.c:924,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:924,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/generic.c:924,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:924,4'
          Dst:             Win32ErrorCode2Tag
        - Src:             'winpr/libwinpr/file/generic.c:924,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:927,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:937,2'
          Dst:             FindClose
    - functionName:    opendir
      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:    SetFileTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 849
      functionLinenumberEnd: 866
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:856,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:864,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UnlockFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 827
      functionLinenumberEnd: 845
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:834,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:843,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    UnlockFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 805
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:812,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:821,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    LockFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 783
      functionLinenumberEnd: 801
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          81
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:790,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:799,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    LockFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 779
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:768,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:777,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetFilePointerEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 739
      functionLinenumberEnd: 757
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          77
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:746,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:755,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetFilePointer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 717
      functionLinenumberEnd: 735
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:724,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:733,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetFileSize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 713
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:703,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:711,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetEndOfFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 676
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:683,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:691,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetFileAttributesW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 657
      functionLinenumberEnd: 673
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - SetFileAttributesA
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:663,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:666,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:670,8'
          Dst:             SetFileAttributesA
    - functionName:    SetFileAttributesA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 654
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          176
      EdgeCount:       46
      CyclomaticComplexity: 10
      functionsReached:
        - WLog_Print_dbg_tag
        - close
        - fchmod
        - flagsToStr
        - fstat64
        - open64
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:625,23'
          Dst:             flagsToStr
        - Src:             'winpr/libwinpr/file/generic.c:626,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:629,11'
          Dst:             open64
        - Src:             'winpr/libwinpr/file/generic.c:634,6'
          Dst:             fstat64
        - Src:             'winpr/libwinpr/file/generic.c:639,17'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/generic.c:639,17'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/generic.c:646,6'
          Dst:             fchmod
        - Src:             'winpr/libwinpr/file/generic.c:651,2'
          Dst:             close
    - functionName:    flagsToStr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 614
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          267
      EdgeCount:       63
      CyclomaticComplexity: 17
      functionsReached:
        - append
        - snprintf
        - winpr_str_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:582,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:584,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:586,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:588,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:590,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:592,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:594,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:596,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:598,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:600,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:602,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:604,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:606,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:608,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:610,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:612,8'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/file/generic.c:613,2'
          Dst:             winpr_str_append
    - functionName:    open64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fstat64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fchmod
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetFileInformationByHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 570
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:560,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:568,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetFileAttributesW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 550
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - GetFileAttributesA
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:540,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:543,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:547,8'
          Dst:             GetFileAttributesA
    - functionName:    GetFileAttributesA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 527
      functionLinenumberEnd: 533
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - FileAttributesFromStat
        - stat64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:529,6'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/generic.c:532,9'
          Dst:             FileAttributesFromStat
    - functionName:    GetFileAttributesExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 524
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - GetFileAttributesExA
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:513,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:517,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:521,8'
          Dst:             GetFileAttributesExA
    - functionName:    GetFileAttributesExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 505
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          86
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - FindDataFromStat
        - stat64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:491,6'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/generic.c:495,7'
          Dst:             FindDataFromStat
    - functionName:    FlushFileBuffers
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 463
      functionLinenumberEnd: 480
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:470,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:478,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WriteFileGather
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:449,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:458,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WriteFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 420
      functionLinenumberEnd: 438
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:427,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:436,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WriteFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 416
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:405,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:414,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    ReadFileScatter
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 394
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:383,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:392,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    ReadFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 372
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:361,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:370,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    ReadFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          97
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:339,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:348,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    DeleteFileW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 320
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - winpr_DeleteFile
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:316,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:317,12'
          Dst:             winpr_DeleteFile
    - functionName:    DeleteFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_DeleteFile
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:308,9'
          Dst:             winpr_DeleteFile
    - functionName:    CreateFileW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - SetLastError
        - winpr_CreateFile
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:290,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:294,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:298,8'
          Dst:             winpr_CreateFile
    - functionName:    winpr_CreateFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          129
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - ArrayList_Count
        - ArrayList_GetItem
        - ArrayList_Lock
        - ArrayList_Unlock
        - HandleCreatorsInit
        - SetLastError
        - pthread_once
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:251,6'
          Dst:             pthread_once
        - Src:             'winpr/libwinpr/file/generic.c:251,6'
          Dst:             HandleCreatorsInit
        - Src:             'winpr/libwinpr/file/generic.c:253,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:259,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:263,2'
          Dst:             ArrayList_Lock
        - Src:             'winpr/libwinpr/file/generic.c:265,26'
          Dst:             ArrayList_Count
        - Src:             'winpr/libwinpr/file/generic.c:267,35'
          Dst:             ArrayList_GetItem
        - Src:             'winpr/libwinpr/file/generic.c:274,4'
          Dst:             ArrayList_Unlock
        - Src:             'winpr/libwinpr/file/generic.c:279,2'
          Dst:             ArrayList_Unlock
    - functionName:    HandleCreatorsInit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          56
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - ArrayList_Append
        - ArrayList_New
        - GetCommHandleCreator
        - GetFileHandleCreator
        - GetNamedPipeClientHandleCreator
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:191,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/generic.c:192,19'
          Dst:             ArrayList_New
        - Src:             'winpr/libwinpr/file/generic.c:200,35'
          Dst:             GetNamedPipeClientHandleCreator
        - Src:             'winpr/libwinpr/file/generic.c:200,2'
          Dst:             ArrayList_Append
        - Src:             'winpr/libwinpr/file/generic.c:201,33'
          Dst:             GetCommHandleCreator
        - Src:             'winpr/libwinpr/file/generic.c:203,3'
          Dst:             ArrayList_Append
        - Src:             'winpr/libwinpr/file/generic.c:204,35'
          Dst:             GetFileHandleCreator
        - Src:             'winpr/libwinpr/file/generic.c:204,2'
          Dst:             ArrayList_Append
    - functionName:    pthread_once
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_CreateFile
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:239,9'
          Dst:             winpr_CreateFile
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          76
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/../handle/handle.h:130,3'
          Dst:             SetLastError
    - functionName:    NamedPipeClientGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - NamedPipeClientIsHandled
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:86,7'
          Dst:             NamedPipeClientIsHandled
    - functionName:    NamedPipeClientIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WINPR_HANDLE_IS_HANDLED
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:50,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    NamedPipeClientCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          100
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - NamedPipeClientIsHandled
        - close
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:57,7'
          Dst:             NamedPipeClientIsHandled
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:63,3'
          Dst:             close
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:69,3'
          Dst:             close
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    GetNamePipeFileDescriptor
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NamedPipeClientIsHandled
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:278,7'
          Dst:             NamedPipeClientIsHandled
    - functionName:    GetNamedPipeUnixDomainSocketFilePathA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetCombinedPath
        - GetNamedPipeNameWithoutPrefixA
        - GetNamedPipeUnixDomainSocketBaseFilePathA
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:264,15'
          Dst:             GetNamedPipeUnixDomainSocketBaseFilePathA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:265,15'
          Dst:             GetNamedPipeNameWithoutPrefixA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:266,15'
          Dst:             GetCombinedPath
    - functionName:    GetNamedPipeUnixDomainSocketBaseFilePathA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetCombinedPath
        - GetKnownPath
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:249,15'
          Dst:             GetKnownPath
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:254,15'
          Dst:             GetCombinedPath
    - functionName:    GetNamedPipeNameWithoutPrefixA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - IsNamedPipeFileNameA
        - _strdup
        - strnlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:238,7'
          Dst:             IsNamedPipeFileNameA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:241,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:241,15'
          Dst:             _strdup
    - functionName:    IsNamedPipeFileNameA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:228,10'
          Dst:             strncmp
    - functionName:    NamedPipeClientCreateFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          247
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - GetNamedPipeNameWithoutPrefixA
        - GetNamedPipeUnixDomainSocketFilePathA
        - IsNamedPipeFileNameA
        - SetLastError
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - WLog_Print_dbg_tag
        - _strdup
        - calloc
        - close
        - connect
        - snprintf
        - socket
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:131,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:132,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:139,7'
          Dst:             IsNamedPipeFileNameA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:142,52'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:146,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:151,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:152,21'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:156,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:167,27'
          Dst:             GetNamedPipeNameWithoutPrefixA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:172,27'
          Dst:             GetNamedPipeUnixDomainSocketFilePathA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:177,25'
          Dst:             socket
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:184,8'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:185,11'
          Dst:             connect
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:194,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:203,4'
          Dst:             close
    - functionName:    GetNamedPipeClientHandleCreator
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    FilePatternMatchSubExpressionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/pattern.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          209
      EdgeCount:       47
      CyclomaticComplexity: 15
      functionsReached:
        - WLog_Print_dbg_tag
        - _strnicmp
        - strchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/pattern.c:108,7'
          Dst:             _strnicmp
        - Src:             'winpr/libwinpr/file/pattern.c:124,14'
          Dst:             strchr
        - Src:             'winpr/libwinpr/file/pattern.c:129,8'
          Dst:             _strnicmp
        - Src:             'winpr/libwinpr/file/pattern.c:161,7'
          Dst:             _strnicmp
        - Src:             'winpr/libwinpr/file/pattern.c:175,14'
          Dst:             strchr
        - Src:             'winpr/libwinpr/file/pattern.c:180,8'
          Dst:             _strnicmp
        - Src:             'winpr/libwinpr/file/pattern.c:196,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FilePatternMatchA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/pattern.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         153
      ICount:          713
      EdgeCount:       188
      CyclomaticComplexity: 37
      functionsReached:
        - FilePatternFindNextWildcardA
        - FilePatternMatchSubExpressionA
        - _stricmp
        - strlen
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/pattern.c:231,28'
          Dst:             strlen
        - Src:             'winpr/libwinpr/file/pattern.c:232,29'
          Dst:             strlen
        - Src:             'winpr/libwinpr/file/pattern.c:257,13'
          Dst:             strlen
        - Src:             'winpr/libwinpr/file/pattern.c:259,8'
          Dst:             FilePatternFindNextWildcardA
        - Src:             'winpr/libwinpr/file/pattern.c:265,8'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/file/pattern.c:305,22'
          Dst:             FilePatternFindNextWildcardA
        - Src:             'winpr/libwinpr/file/pattern.c:317,7'
          Dst:             FilePatternFindNextWildcardA
        - Src:             'winpr/libwinpr/file/pattern.c:325,24'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:325,24'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:330,34'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:330,34'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:336,11'
          Dst:             FilePatternMatchSubExpressionA
        - Src:             'winpr/libwinpr/file/pattern.c:347,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:347,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:353,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:353,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:359,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:359,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:364,13'
          Dst:             FilePatternMatchSubExpressionA
        - Src:             'winpr/libwinpr/file/pattern.c:375,9'
          Dst:             FilePatternFindNextWildcardA
        - Src:             'winpr/libwinpr/file/pattern.c:384,7'
          Dst:             _stricmp
    - functionName:    FilePatternFindNextWildcardA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/pattern.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         36
      ICount:          151
      EdgeCount:       43
      CyclomaticComplexity: 9
      functionsReached:
        - strpbrk
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/pattern.c:45,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:46,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/pattern.c:50,21'
          Dst:             strpbrk
    - functionName:    GetStdHandle_Uninit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1051
      functionLinenumberEnd: 1053
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FileCloseHandleInt
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1052,2'
          Dst:             FileCloseHandleInt
    - functionName:    FileCloseHandleInt
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          91
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - FileIsHandled
        - fclose
        - fileno
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:82,7'
          Dst:             FileIsHandled
        - Src:             'winpr/libwinpr/file/file.c:96,7'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:98,10'
          Dst:             fclose
    - functionName:    FileIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WINPR_HANDLE_IS_HANDLED
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:65,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    fileno
      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:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          76
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/../handle/handle.h:130,3'
          Dst:             SetLastError
    - functionName:    FileTimeToUS
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 588
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          27
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    filetimeToTimespec
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 593
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - FileTimeToUS
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:594,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:595,14'
          Dst:             FileTimeToUS
    - functionName:    _fseeki64
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wtypes.h'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 498
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fseeko64
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wtypes.h:498,9'
          Dst:             fseeko64
    - functionName:    fseeko64
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ftelli64
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wtypes.h'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ftello64
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wtypes.h:504,9'
          Dst:             ftello64
    - functionName:    ftello64
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FileGetFileInformationByHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 434
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          277
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - fileno
        - fstat64
        - log_error_
        - strlen
        - strrchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:389,12'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:389,6'
          Dst:             fstat64
        - Src:             'winpr/libwinpr/file/file.c:390,10'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:400,12'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/file/file.c:405,26'
          Dst:             strlen
    - functionName:    log_error_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          118
      EdgeCount:       35
      CyclomaticComplexity: 4
      functionsReached:
        - SetLastError
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - __errno_location
        - map_posix_err
        - winpr_int_assert
        - winpr_strerror
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:119,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:120,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:121,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:122,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:127,9'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/file/file.c:129,6'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/file/file.c:132,59'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:132,44'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/file.c:133,25'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:131,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/file/file.c:135,29'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:135,15'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:135,2'
          Dst:             SetLastError
    - functionName:    map_posix_err
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 794
      functionLinenumberEnd: 852
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          99
      EdgeCount:       41
      CyclomaticComplexity: 22
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_strerror
      functionUses:    14
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/file/file.c:799,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:845,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/file.c:845,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    FileSetFileTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          113
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - __errno_location
        - fileno
        - filetimeToTimespec
        - futimens
        - map_posix_err
        - winpr_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:613,14'
          Dst:             filetimeToTimespec
        - Src:             'winpr/libwinpr/file/file.c:616,14'
          Dst:             filetimeToTimespec
        - Src:             'winpr/libwinpr/file/file.c:619,26'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:619,17'
          Dst:             futimens
        - Src:             'winpr/libwinpr/file/file.c:623,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:623,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/file.c:623,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:623,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:625,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:625,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:625,3'
          Dst:             SetLastError
    - functionName:    futimens
      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:    FileUnlockFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 580
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          79
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - fileno
        - flock
        - log_error_
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:553,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:554,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:563,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:575,12'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:575,6'
          Dst:             flock
        - Src:             'winpr/libwinpr/file/file.c:576,10'
          Dst:             log_error_
    - functionName:    flock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FileUnlockFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 539
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - fileno
        - flock
        - log_error_
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:521,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:534,12'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:534,6'
          Dst:             flock
        - Src:             'winpr/libwinpr/file/file.c:535,10'
          Dst:             log_error_
    - functionName:    FileLockFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          118
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - fileno
        - flock
        - log_error_
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:451,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:452,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:461,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:497,12'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:497,6'
          Dst:             flock
        - Src:             'winpr/libwinpr/file/file.c:498,10'
          Dst:             log_error_
    - functionName:    FileSetFilePointerEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          94
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - _fseeki64
        - _ftelli64
        - log_error_
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/file/file.c:210,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:225,6'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/file/file.c:226,10'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:229,32'
          Dst:             _ftelli64
    - functionName:    FileSetFilePointer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          108
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - _fseeki64
        - _ftelli64
        - log_error_
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/file/file.c:177,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:192,6'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/file/file.c:194,9'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:198,16'
          Dst:             _ftelli64
    - functionName:    FileSetEndOfFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - _ftelli64
        - fileno
        - ftruncate64
        - log_error_
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:146,21'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/file/file.c:150,16'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:150,6'
          Dst:             ftruncate64
        - Src:             'winpr/libwinpr/file/file.c:151,10'
          Dst:             log_error_
    - functionName:    ftruncate64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FileFlushFileBuffers
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - SetLastError
        - __errno_location
        - fflush
        - map_posix_err
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:356,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:363,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:367,6'
          Dst:             fflush
        - Src:             'winpr/libwinpr/file/file.c:369,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:369,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:369,3'
          Dst:             SetLastError
    - functionName:    FileGetFileSize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 348
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          115
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - _fseeki64
        - _ftelli64
        - log_error_
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:316,8'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/file/file.c:320,9'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:324,6'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/file/file.c:326,9'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:330,9'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/file/file.c:334,9'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:338,6'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/file/file.c:340,9'
          Dst:             log_error_
    - functionName:    FileWrite
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - __errno_location
        - clearerr
        - ferror
        - fwrite
        - map_posix_err
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:283,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:284,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:293,2'
          Dst:             clearerr
        - Src:             'winpr/libwinpr/file/file.c:294,14'
          Dst:             fwrite
        - Src:             'winpr/libwinpr/file/file.c:295,24'
          Dst:             ferror
        - Src:             'winpr/libwinpr/file/file.c:297,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:297,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:297,3'
          Dst:             SetLastError
    - functionName:    clearerr
      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:    ferror
      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:    FileRead
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          118
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - __errno_location
        - clearerr
        - ferror
        - fread
        - map_posix_err
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/file/file.c:259,3'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:243,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:244,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:252,2'
          Dst:             clearerr
        - Src:             'winpr/libwinpr/file/file.c:253,14'
          Dst:             fread
        - Src:             'winpr/libwinpr/file/file.c:255,24'
          Dst:             ferror
        - Src:             'winpr/libwinpr/file/file.c:259,11'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:262,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:265,32'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:265,18'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:265,5'
          Dst:             SetLastError
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FileGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - FileIsHandled
        - fileno
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:72,7'
          Dst:             FileIsHandled
        - Src:             'winpr/libwinpr/file/file.c:75,9'
          Dst:             fileno
    - functionName:    FileCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FileCloseHandleInt
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:110,9'
          Dst:             FileCloseHandleInt
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FileGetMode
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 767
      functionLinenumberEnd: 791
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          75
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/file/file.c:770,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    FileCreateFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 859
      functionLinenumberEnd: 1016
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          454
      EdgeCount:       89
      CyclomaticComplexity: 23
      functionsReached:
        - FileCloseHandle
        - FileGetMode
        - SetLastError
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - WLog_Print_dbg_tag
        - __errno_location
        - _strdup
        - calloc
        - fchmod
        - fileno
        - flock
        - freopen64
        - fstat64
        - log_error_
        - map_posix_err
        - setvbuf
        - stat64
        - winpr_fopen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:862,21'
          Dst:             FileGetMode
        - Src:             'winpr/libwinpr/file/file.c:873,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:874,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:878,23'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/file.c:881,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:885,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/file/file.c:888,22'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/file/file.c:891,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:907,8'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/file.c:909,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:916,8'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/file/file.c:919,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:919,17'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:919,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:925,8'
          Dst:             freopen64
        - Src:             'winpr/libwinpr/file/file.c:929,7'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/file.c:931,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:931,17'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:931,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:942,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:950,8'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/file/file.c:957,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:957,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:957,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:963,8'
          Dst:             setvbuf
        - Src:             'winpr/libwinpr/file/file.c:986,13'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:986,7'
          Dst:             flock
        - Src:             'winpr/libwinpr/file/file.c:992,10'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:995,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:995,17'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:995,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:996,4'
          Dst:             FileCloseHandle
        - Src:             'winpr/libwinpr/file/file.c:1003,12'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:1003,6'
          Dst:             fstat64
        - Src:             'winpr/libwinpr/file/file.c:1005,17'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:1005,17'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:1006,14'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:1006,7'
          Dst:             fchmod
        - Src:             'winpr/libwinpr/file/file.c:1008,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:1008,17'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:1008,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:1009,4'
          Dst:             FileCloseHandle
        - Src:             'winpr/libwinpr/file/file.c:1014,2'
          Dst:             SetLastError
    - functionName:    winpr_fopen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1521
      functionLinenumberEnd: 1523
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fopen64
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1523,9'
          Dst:             fopen64
    - functionName:    freopen64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      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:    setvbuf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fopen64
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsFileDevice
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1019
      functionLinenumberEnd: 1020
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetLogicalDriveStringsA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1568
      functionLinenumberEnd: 1580
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          45
      EdgeCount:       12
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetLogicalDriveStringsW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1551
      functionLinenumberEnd: 1565
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ConvertMszUtf8NToWChar
        - GetLogicalDriveStringsA
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1555,12'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/file.c:1560,19'
          Dst:             GetLogicalDriveStringsA
        - Src:             'winpr/libwinpr/file/file.c:1562,3'
          Dst:             ConvertMszUtf8NToWChar
    - functionName:    GetFileHandleForFileDescriptor
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1485
      functionLinenumberEnd: 1518
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          102
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - FileHandle_New
        - __errno_location
        - fcntl64
        - fdopen
        - setvbuf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1494,6'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/file/file.c:1494,34'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:1497,10'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/file/file.c:1502,8'
          Dst:             fdopen
        - Src:             'winpr/libwinpr/file/file.c:1504,8'
          Dst:             fdopen
        - Src:             'winpr/libwinpr/file/file.c:1509,8'
          Dst:             setvbuf
        - Src:             'winpr/libwinpr/file/file.c:1512,10'
          Dst:             FileHandle_New
    - functionName:    fdopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FileHandle_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1031
      functionLinenumberEnd: 1048
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          55
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SetLastError
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - _strdup
        - calloc
        - fileno
        - snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1035,51'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:1035,8'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/file/file.c:1036,23'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/file.c:1039,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:1044,22'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/file/file.c:1046,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
    - functionName:    ValidFileNameComponent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1140
      functionLinenumberEnd: 1211
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         183
      ICount:          958
      EdgeCount:       259
      CyclomaticComplexity: 78
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetDiskFreeSpaceW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1114
      functionLinenumberEnd: 1129
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - GetDiskFreeSpaceA
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1119,23'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/file.c:1122,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:1125,8'
          Dst:             GetDiskFreeSpaceA
    - functionName:    GetDiskFreeSpaceA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1095
      functionLinenumberEnd: 1108
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          84
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - statvfs64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1103,2'
          Dst:             statvfs64
    - functionName:    statvfs64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetStdHandleEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1089
      functionLinenumberEnd: 1090
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetStdHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1083
      functionLinenumberEnd: 1084
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetStdHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1056
      functionLinenumberEnd: 1080
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - FileHandle_New
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/file/file.c:1059,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1074,20'
          Dst:             FileHandle_New
    - functionName:    GetFileHandleCreator
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1026
      functionLinenumberEnd: 1027
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CommIoCtlToStr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1500
      functionLinenumberEnd: 1796
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         75
      ICount:          376
      EdgeCount:       148
      CyclomaticComplexity: 75
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/comm/comm.c:1501,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CommGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommIsHandled
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:146,7'
          Dst:             CommIsHandled
    - functionName:    CommIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1435
      functionLinenumberEnd: 1440
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - WINPR_HANDLE_IS_HANDLED
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1436,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1439,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    CommInitialized
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInit
        - SetLastError
        - pthread_once
      functionUses:    29
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:190,6'
          Dst:             pthread_once
        - Src:             'winpr/libwinpr/comm/comm.c:190,6'
          Dst:             CommInit
        - Src:             'winpr/libwinpr/comm/comm.c:192,3'
          Dst:             SetLastError
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          76
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/../handle/handle.h:130,3'
          Dst:             SetLastError
    - functionName:    CommInit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         25
      ICount:          72
      EdgeCount:       27
      CyclomaticComplexity: 4
      functionsReached:
        - InitializeCriticalSectionEx
        - WLog_Get
        - calloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:166,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:167,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:168,32'
          Dst:             calloc
        - Src:             'winpr/libwinpr/comm/comm.c:173,7'
          Dst:             InitializeCriticalSectionEx
        - Src:             'winpr/libwinpr/comm/comm.c:180,9'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/comm/comm.c:181,2'
          Dst:             winpr_int_assert
    - functionName:    CommSerialEvFlagString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1857
      functionLinenumberEnd: 1893
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          92
      EdgeCount:       34
      CyclomaticComplexity: 18
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/comm/comm.c:1858,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CommSerialEvString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1896
      functionLinenumberEnd: 1919
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CommSerialEvFlagString
        - snprintf
        - winpr_str_append
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1903,2'
          Dst:             winpr_str_append
        - Src:             'winpr/libwinpr/comm/comm.c:1911,21'
          Dst:             CommSerialEvFlagString
        - Src:             'winpr/libwinpr/comm/comm.c:1911,4'
          Dst:             winpr_str_append
        - Src:             'winpr/libwinpr/comm/comm.c:1917,8'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/comm/comm.c:1918,2'
          Dst:             winpr_str_append
    - functionName:    CommStatusErrorEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1800
      functionLinenumberEnd: 1820
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          102
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - CommInitialized
        - CommIoCtlToStr
        - SetLastError
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - __errno_location
        - winpr_int_assert
        - winpr_strerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1801,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:1805,20'
          Dst:             CommIoCtlToStr
        - Src:             'winpr/libwinpr/comm/comm.c:1807,6'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1809,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/comm/comm.c:1812,81'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm.c:1813,41'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm.c:1813,26'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm.c:1811,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/comm/comm.c:1818,3'
          Dst:             SetLastError
    - functionName:    CommIoCtl_int
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1825
      functionLinenumberEnd: 1832
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CommStatusErrorEx
        - ioctl
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1826,6'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/comm/comm.c:1828,8'
          Dst:             CommStatusErrorEx
    - functionName:    CommCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1456
      functionLinenumberEnd: 1483
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          131
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - CommIsHandled
        - DeleteCriticalSection
        - close
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1459,7'
          Dst:             CommIsHandled
        - Src:             'winpr/libwinpr/comm/comm.c:1462,2'
          Dst:             DeleteCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1463,2'
          Dst:             DeleteCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1464,2'
          Dst:             DeleteCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1467,3'
          Dst:             close
        - Src:             'winpr/libwinpr/comm/comm.c:1470,3'
          Dst:             close
        - Src:             'winpr/libwinpr/comm/comm.c:1473,3'
          Dst:             close
        - Src:             'winpr/libwinpr/comm/comm.c:1476,3'
          Dst:             close
        - Src:             'winpr/libwinpr/comm/comm.c:1479,3'
          Dst:             close
    - functionName:    CommUpdateIOCount
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1835
      functionLinenumberEnd: 1854
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          106
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - CommStatusErrorEx
        - ioctl
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1837,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:1843,18'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/comm/comm.c:1848,9'
          Dst:             CommStatusErrorEx
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _comm_setServerSerialDriver
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1206
      functionLinenumberEnd: 1222
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1211,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1214,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/comm/comm.c:1216,3'
          Dst:             CommLog_PrintEx
    - functionName:    CommLog_PrintEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    125
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:203,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:206,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/comm/comm.c:210,2'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    QueryCommDevice
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1126
      functionLinenumberEnd: 1182
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          162
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - CommInitialized
        - EnterCriticalSection
        - LeaveCriticalSection
        - SetLastError
        - strcmp
        - strncpy
        - strnlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1128,2'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1130,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1135,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1141,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1145,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1152,8'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/comm/comm.c:1164,2'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1168,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1172,22'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/comm/comm.c:1175,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1179,2'
          Dst:             strncpy
    - functionName:    DefineCommDevice
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1029
      functionLinenumberEnd: 1107
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          196
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - CommInitialized
        - EnterCriticalSection
        - LeaveCriticalSection
        - SetLastError
        - _strdup
        - calloc
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1033,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1036,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1040,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1044,21'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/comm/comm.c:1048,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1052,21'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/comm/comm.c:1056,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1066,9'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/comm/comm.c:1079,37'
          Dst:             calloc
        - Src:             'winpr/libwinpr/comm/comm.c:1083,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1095,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1100,2'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1105,2'
          Dst:             LeaveCriticalSection
    - functionName:    WaitCommEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1017
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1006,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1014,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1015,2'
          Dst:             SetLastError
    - functionName:    TransmitCommChar
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 985
      functionLinenumberEnd: 999
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:988,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:996,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:997,2'
          Dst:             SetLastError
    - functionName:    EscapeCommFunction
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 968
      functionLinenumberEnd: 982
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:971,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:979,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:980,2'
          Dst:             SetLastError
    - functionName:    SetupComm
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 946
      functionLinenumberEnd: 965
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommDeviceIoControl
        - CommIsHandleValid
        - CommLog_PrintEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:951,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:957,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:960,3'
          Dst:             CommLog_PrintEx
    - functionName:    CommIsHandleValid
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1443
      functionLinenumberEnd: 1453
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          45
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommIsHandled
        - SetLastError
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1445,7'
          Dst:             CommIsHandled
        - Src:             'winpr/libwinpr/comm/comm.c:1449,3'
          Dst:             SetLastError
    - functionName:    PurgeComm
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 928
      functionLinenumberEnd: 943
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          48
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommDeviceIoControl
        - CommIsHandleValid
        - CommLog_PrintEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:932,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:935,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:938,3'
          Dst:             CommLog_PrintEx
    - functionName:    ClearCommError
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 911
      functionLinenumberEnd: 925
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:914,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:922,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:923,2'
          Dst:             SetLastError
    - functionName:    ClearCommBreak
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 893
      functionLinenumberEnd: 907
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:896,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:904,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:905,2'
          Dst:             SetLastError
    - functionName:    SetCommBreak
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 876
      functionLinenumberEnd: 890
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:879,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:887,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:888,2'
          Dst:             SetLastError
    - functionName:    SetDefaultCommConfigW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 865
      functionLinenumberEnd: 873
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:866,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:870,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:871,2'
          Dst:             SetLastError
    - functionName:    SetDefaultCommConfigA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 853
      functionLinenumberEnd: 861
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:854,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:858,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:859,2'
          Dst:             SetLastError
    - functionName:    GetDefaultCommConfigW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 841
      functionLinenumberEnd: 849
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:842,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:846,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:847,2'
          Dst:             SetLastError
    - functionName:    GetDefaultCommConfigA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 829
      functionLinenumberEnd: 837
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:830,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:834,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:835,2'
          Dst:             SetLastError
    - functionName:    SetCommTimeouts
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 808
      functionLinenumberEnd: 825
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommDeviceIoControl
        - CommIsHandleValid
        - CommLog_PrintEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:812,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:817,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:820,3'
          Dst:             CommLog_PrintEx
    - functionName:    GetCommTimeouts
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 784
      functionLinenumberEnd: 801
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommDeviceIoControl
        - CommIsHandleValid
        - CommLog_PrintEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:788,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:793,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:796,3'
          Dst:             CommLog_PrintEx
    - functionName:    SetCommState
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 563
      functionLinenumberEnd: 777
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         66
      ICount:          504
      EdgeCount:       84
      CyclomaticComplexity: 20
      functionsReached:
        - CommDeviceIoControl
        - CommIsHandleValid
        - CommLog_PrintEx
        - SetLastError
        - comm_ioctl_tcsetattr
        - tcgetattr
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/comm/comm.c:639,2'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/comm/comm.c:689,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:570,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:575,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:585,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:588,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:594,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:598,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:608,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:611,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:620,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:623,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:654,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:692,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:709,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:724,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:727,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:733,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm.c:736,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:747,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:770,6'
          Dst:             comm_ioctl_tcsetattr
        - Src:             'winpr/libwinpr/comm/comm.c:772,3'
          Dst:             SetLastError
    - functionName:    tcgetattr
      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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetCommState
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 549
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         80
      ICount:          615
      EdgeCount:       100
      CyclomaticComplexity: 22
      functionsReached:
        - CommDeviceIoControl
        - CommIsHandleValid
        - CommLog_PrintEx
        - SetLastError
        - calloc
        - tcgetattr
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:410,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:415,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:421,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:425,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm.c:427,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:431,21'
          Dst:             calloc
        - Src:             'winpr/libwinpr/comm/comm.c:435,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:443,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:446,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:455,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:461,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:464,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:509,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:509,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:510,24'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:510,24'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:515,8'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:518,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:530,8'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:533,4'
          Dst:             CommLog_PrintEx
    - functionName:    GetCommProperties
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 377
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommDeviceIoControl
        - CommIsHandleValid
        - CommLog_PrintEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:381,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:384,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:387,3'
          Dst:             CommLog_PrintEx
    - functionName:    GetCommModemStatus
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:358,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:366,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:367,2'
          Dst:             SetLastError
    - functionName:    SetCommMask
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:341,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:349,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:350,2'
          Dst:             SetLastError
    - functionName:    GetCommMask
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:324,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:332,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:333,2'
          Dst:             SetLastError
    - functionName:    SetCommConfig
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:307,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:315,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:316,2'
          Dst:             SetLastError
    - functionName:    GetCommConfig
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:289,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:297,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:298,2'
          Dst:             SetLastError
    - functionName:    CommConfigDialogW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:275,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:279,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:280,2'
          Dst:             SetLastError
    - functionName:    CommConfigDialogA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:263,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:267,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:268,2'
          Dst:             SetLastError
    - functionName:    BuildCommDCBAndTimeoutsW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:251,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:255,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:256,2'
          Dst:             SetLastError
    - functionName:    BuildCommDCBAndTimeoutsA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:239,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:243,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:244,2'
          Dst:             SetLastError
    - functionName:    BuildCommDCBW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:227,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:231,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:232,2'
          Dst:             SetLastError
    - functionName:    BuildCommDCBA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommInitialized
        - CommLog_PrintEx
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:216,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:220,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:221,2'
          Dst:             SetLastError
    - functionName:    CommCreateFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1257
      functionLinenumberEnd: 1432
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          320
      EdgeCount:       62
      CyclomaticComplexity: 20
      functionsReached:
        - CloseHandle
        - CommInitialized
        - CommLog_PrintEx
        - CommUpdateIOCount
        - InitializeCriticalSection
        - QueryCommDevice
        - SetLastError
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - calloc
        - comm_ioctl_tcsetattr
        - eventfd
        - open64
        - stat64
        - tcgetattr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1263,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1268,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1274,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1283,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1289,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1293,6'
          Dst:             QueryCommDevice
        - Src:             'winpr/libwinpr/comm/comm.c:1299,6'
          Dst:             stat64
        - Src:             'winpr/libwinpr/comm/comm.c:1301,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1302,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1308,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1309,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1315,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1321,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1325,23'
          Dst:             calloc
        - Src:             'winpr/libwinpr/comm/comm.c:1329,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1333,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/comm/comm.c:1336,14'
          Dst:             open64
        - Src:             'winpr/libwinpr/comm/comm.c:1340,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1341,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1345,19'
          Dst:             open64
        - Src:             'winpr/libwinpr/comm/comm.c:1349,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1350,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1355,25'
          Dst:             eventfd
        - Src:             'winpr/libwinpr/comm/comm.c:1361,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1362,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1366,2'
          Dst:             InitializeCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1367,20'
          Dst:             open64
        - Src:             'winpr/libwinpr/comm/comm.c:1371,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1372,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1377,26'
          Dst:             eventfd
        - Src:             'winpr/libwinpr/comm/comm.c:1383,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1384,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1388,2'
          Dst:             InitializeCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1391,2'
          Dst:             InitializeCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1393,8'
          Dst:             CommUpdateIOCount
        - Src:             'winpr/libwinpr/comm/comm.c:1400,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm.c:1402,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1420,6'
          Dst:             comm_ioctl_tcsetattr
        - Src:             'winpr/libwinpr/comm/comm.c:1422,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1429,53'
          Dst:             CloseHandle
    - functionName:    IsCommDevice
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1188
      functionLinenumberEnd: 1200
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          41
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CommInitialized
        - QueryCommDevice
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1191,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1194,6'
          Dst:             QueryCommDevice
    - functionName:    GetCommHandleCreator
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _comm_serial_ioctl_name
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    comm_ioctl_modem_flag_str
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_ioctl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 712
      functionLinenumberEnd: 734
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          57
      EdgeCount:       20
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/comm/comm_ioctl.c:713,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    comm_ioctl_modem_status_string
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_ioctl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 758
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - comm_ioctl_modem_flag_str
        - snprintf
        - winpr_str_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:742,2'
          Dst:             winpr_str_append
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:750,21'
          Dst:             comm_ioctl_modem_flag_str
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:750,4'
          Dst:             winpr_str_append
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:756,8'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:757,2'
          Dst:             winpr_str_append
    - functionName:    comm_ioctl_tcsetattr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_ioctl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 682
      functionLinenumberEnd: 709
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          104
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - CommLog_PrintEx
        - __errno_location
        - memcmp
        - tcgetattr
        - tcsetattr
        - winpr_strerror
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:687,19'
          Dst:             tcsetattr
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:691,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:691,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:691,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:691,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:697,19'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:701,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:701,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:701,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:701,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:706,12'
          Dst:             memcmp
    - functionName:    tcsetattr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    s_CommDeviceIoControl
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_ioctl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 617
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         306
      ICount:          1528
      EdgeCount:       369
      CyclomaticComplexity: 65
      functionsReached:
        - CommIsHandleValid
        - CommLog_PrintEx
        - CommSerialEvString
        - SerCx2Sys_s
        - SerCxSys_s
        - SerialSys_s
        - SetLastError
        - _comm_serial_ioctl_name
        - comm_ioctl_modem_status_string
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/comm/comm_ioctl.c:89,2'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/comm/comm_ioctl.c:113,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:61,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:66,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:72,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:78,2'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:82,2'
          Dst:             _comm_serial_ioctl_name
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:82,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:92,26'
          Dst:             SerialSys_s
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:96,26'
          Dst:             SerCxSys_s
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:100,26'
          Dst:             SerCx2Sys_s
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:105,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:107,26'
          Dst:             SerCx2Sys_s
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:111,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:120,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:129,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:132,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:146,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:149,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:167,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:170,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:188,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:191,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:205,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:208,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:226,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:229,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:243,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:246,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:264,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:267,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:281,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:284,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:302,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:305,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:319,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:322,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:372,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:375,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:382,5'
          Dst:             comm_ioctl_modem_status_string
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:382,5'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:395,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:398,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:403,5'
          Dst:             CommSerialEvString
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:403,5'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:415,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:418,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:425,5'
          Dst:             CommSerialEvString
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:425,5'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:438,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:441,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:448,5'
          Dst:             CommSerialEvString
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:448,5'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:460,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:463,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:477,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:480,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:494,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:497,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:547,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:550,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:568,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:571,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:589,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:592,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:612,2'
          Dst:             _comm_serial_ioctl_name
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:612,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:615,2'
          Dst:             SetLastError
    - functionName:    CommDeviceIoControl
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_ioctl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 634
      functionLinenumberEnd: 679
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          133
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - CommIsHandled
        - CommLog_PrintEx
        - SetLastError
        - _comm_serial_ioctl_name
        - s_CommDeviceIoControl
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:640,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:644,7'
          Dst:             CommIsHandled
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:649,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:653,11'
          Dst:             s_CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:659,3'
          Dst:             _comm_serial_ioctl_name
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:659,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:670,4'
          Dst:             _comm_serial_ioctl_name
        - Src:             'winpr/libwinpr/comm/comm_ioctl.c:670,4'
          Dst:             CommLog_PrintEx
    - functionName:    consume_event
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1431
      functionLinenumberEnd: 1440
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          81
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_int_assert
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1432,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1433,2'
          Dst:             winpr_int_assert
    - functionName:    unlock_return
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1443
      functionLinenumberEnd: 1447
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1444,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1446,2'
          Dst:             LeaveCriticalSection
    - functionName:    refresh_PendingEvents
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1421
      functionLinenumberEnd: 1427
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          32
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - get_commstatus
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1424,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1427,10'
          Dst:             get_commstatus
    - functionName:    get_commstatus
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1257
      functionLinenumberEnd: 1417
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         74
      ICount:          481
      EdgeCount:       95
      CyclomaticComplexity: 23
      functionsReached:
        - CommIoCtl_int
        - CommUpdateIOCount
        - EnterCriticalSection
        - LeaveCriticalSection
        - get_raw_modemstatus
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1263,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1264,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1267,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1272,7'
          Dst:             get_raw_modemstatus
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1276,7'
          Dst:             CommUpdateIOCount
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1332,8'
          Dst:             CommIoCtl_int
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1336,8'
          Dst:             CommIoCtl_int
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1342,8'
          Dst:             CommIoCtl_int
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1416,2'
          Dst:             LeaveCriticalSection
    - functionName:    get_raw_modemstatus
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1016
      functionLinenumberEnd: 1025
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          55
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - CommIoCtl_int
        - CommLog_PrintEx
        - get_modem_status_str
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1017,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1018,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1020,18'
          Dst:             CommIoCtl_int
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1023,2'
          Dst:             get_modem_status_str
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1023,2'
          Dst:             CommLog_PrintEx
    - functionName:    get_modem_status_str
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - get_modem_flag_str
        - snprintf
        - winpr_str_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:186,2'
          Dst:             winpr_str_append
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:194,21'
          Dst:             get_modem_flag_str
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:194,4'
          Dst:             winpr_str_append
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:200,8'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:201,2'
          Dst:             winpr_str_append
    - functionName:    get_modem_flag_str
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          123
      EdgeCount:       34
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_wait_set
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1059
      functionLinenumberEnd: 1065
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1060,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1062,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1064,2'
          Dst:             LeaveCriticalSection
    - functionName:    clear_lines
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 936
      functionLinenumberEnd: 939
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          32
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - CommIoCtl_int
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:937,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:939,9'
          Dst:             CommIoCtl_int
    - functionName:    set_lines
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 929
      functionLinenumberEnd: 932
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          32
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - CommIoCtl_int
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:930,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:932,9'
          Dst:             CommIoCtl_int
    - functionName:    reset_device
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1616
      functionLinenumberEnd: 1625
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          38
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - CommIoCtl_int
        - CommUpdateIOCount
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1618,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1623,8'
          Dst:             CommUpdateIOCount
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1625,9'
          Dst:             CommIoCtl_int
    - functionName:    immediate_char
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1595
      functionLinenumberEnd: 1612
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          64
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - CommWriteFile
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1599,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1600,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1608,11'
          Dst:             CommWriteFile
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1610,2'
          Dst:             winpr_int_assert
    - functionName:    config_size
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1582
      functionLinenumberEnd: 1592
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          56
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1583,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1584,2'
          Dst:             winpr_int_assert
    - functionName:    get_dtrrts
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1562
      functionLinenumberEnd: 1579
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          91
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - get_raw_modemstatus
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1565,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1566,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1568,7'
          Dst:             get_raw_modemstatus
    - functionName:    set_xon
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1546
      functionLinenumberEnd: 1559
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          54
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - CommLog_PrintEx
        - SetLastError
        - __errno_location
        - tcflow
        - winpr_int_assert
        - winpr_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1547,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1549,6'
          Dst:             tcflow
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1552,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1552,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1552,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1552,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1554,3'
          Dst:             SetLastError
    - functionName:    tcflow
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_xoff
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1530
      functionLinenumberEnd: 1543
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          54
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - CommLog_PrintEx
        - SetLastError
        - __errno_location
        - tcflow
        - winpr_int_assert
        - winpr_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1531,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1533,6'
          Dst:             tcflow
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1536,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1536,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1536,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1536,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1538,3'
          Dst:             SetLastError
    - functionName:    set_break_off
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1523
      functionLinenumberEnd: 1526
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          30
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - CommIoCtl_int
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1524,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1526,9'
          Dst:             CommIoCtl_int
    - functionName:    set_break_on
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1517
      functionLinenumberEnd: 1519
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          30
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - CommIoCtl_int
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1518,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1519,9'
          Dst:             CommIoCtl_int
    - functionName:    purge
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1168
      functionLinenumberEnd: 1250
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         58
      ICount:          254
      EdgeCount:       69
      CyclomaticComplexity: 13
      functionsReached:
        - CommLog_PrintEx
        - SetLastError
        - __errno_location
        - eventfd_write
        - tcflush
        - winpr_int_assert
        - winpr_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1169,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1170,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1175,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1176,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1189,7'
          Dst:             eventfd_write
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1191,8'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1194,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1194,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1194,5'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1194,5'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1198,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1198,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1207,7'
          Dst:             eventfd_write
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1209,8'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1212,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1212,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1212,5'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1212,5'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1216,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1216,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1225,7'
          Dst:             tcflush
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1228,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1228,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1228,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1228,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1230,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1239,7'
          Dst:             tcflush
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1242,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1242,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1242,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1242,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1244,4'
          Dst:             SetLastError
    - functionName:    tcflush
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_queue_size
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1142
      functionLinenumberEnd: 1165
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          105
      EdgeCount:       31
      CyclomaticComplexity: 6
      functionsReached:
        - CommLog_PrintEx
        - SetLastError
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1143,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1144,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1152,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1158,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1163,2'
          Dst:             SetLastError
    - functionName:    wait_on_mask
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1454
      functionLinenumberEnd: 1514
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          145
      EdgeCount:       33
      CyclomaticComplexity: 5
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - Sleep
        - consume_event
        - refresh_PendingEvents
        - unlock_return
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1455,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1456,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1458,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1460,2'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1465,8'
          Dst:             refresh_PendingEvents
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1466,11'
          Dst:             unlock_return
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1469,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1478,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1480,4'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1484,3'
          Dst:             consume_event
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1485,3'
          Dst:             consume_event
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1486,3'
          Dst:             consume_event
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1487,3'
          Dst:             consume_event
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1488,3'
          Dst:             consume_event
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1489,3'
          Dst:             consume_event
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1490,3'
          Dst:             consume_event
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1491,3'
          Dst:             consume_event
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1492,3'
          Dst:             consume_event
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1494,3'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1510,3'
          Dst:             Sleep
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1513,9'
          Dst:             unlock_return
    - functionName:    get_wait_mask
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1133
      functionLinenumberEnd: 1138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          47
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1134,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1135,2'
          Dst:             winpr_int_assert
    - functionName:    set_wait_mask
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1069
      functionLinenumberEnd: 1130
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          158
      EdgeCount:       34
      CyclomaticComplexity: 7
      functionsReached:
        - CommLog_PrintEx
        - CommUpdateIOCount
        - EnterCriticalSection
        - LeaveCriticalSection
        - Sleep
        - is_wait_set
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1072,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1073,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1078,6'
          Dst:             is_wait_set
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1082,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1084,3'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1087,10'
          Dst:             is_wait_set
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1088,4'
          Dst:             Sleep
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1090,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1092,3'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1096,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1101,8'
          Dst:             CommUpdateIOCount
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1103,4'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1114,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1122,3'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1128,2'
          Dst:             LeaveCriticalSection
    - functionName:    get_modemstatus
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1029
      functionLinenumberEnd: 1046
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          101
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - get_raw_modemstatus
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1032,7'
          Dst:             get_raw_modemstatus
    - functionName:    clear_rts
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1000
      functionLinenumberEnd: 1013
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          58
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - SetLastError
        - clear_lines
        - get_handflow
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1002,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1003,7'
          Dst:             get_handflow
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1008,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:1012,9'
          Dst:             clear_lines
    - functionName:    get_handflow
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 812
      functionLinenumberEnd: 874
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         42
      ICount:          228
      EdgeCount:       51
      CyclomaticComplexity: 11
      functionsReached:
        - SetLastError
        - tcgetattr
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:815,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:816,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:818,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:820,3'
          Dst:             SetLastError
    - functionName:    set_rts
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 983
      functionLinenumberEnd: 997
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          58
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - SetLastError
        - get_handflow
        - set_lines
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:985,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:987,7'
          Dst:             get_handflow
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:992,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:996,9'
          Dst:             set_lines
    - functionName:    clear_dtr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 963
      functionLinenumberEnd: 980
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          73
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - SetLastError
        - clear_lines
        - get_handflow
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:965,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:967,7'
          Dst:             get_handflow
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:971,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:975,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:979,9'
          Dst:             clear_lines
    - functionName:    set_dtr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 943
      functionLinenumberEnd: 960
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          73
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - SetLastError
        - get_handflow
        - set_lines
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:945,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:947,7'
          Dst:             get_handflow
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:951,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:955,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:959,9'
          Dst:             set_lines
    - functionName:    get_timeouts
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 915
      functionLinenumberEnd: 925
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:916,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:917,2'
          Dst:             winpr_int_assert
    - functionName:    set_timeouts
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 877
      functionLinenumberEnd: 912
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          132
      EdgeCount:       23
      CyclomaticComplexity: 4
      functionsReached:
        - CommLog_PrintEx
        - SetLastError
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:878,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:879,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:887,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:890,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:900,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:902,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:904,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:906,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:908,2'
          Dst:             CommLog_PrintEx
    - functionName:    set_handflow
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 627
      functionLinenumberEnd: 809
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         87
      ICount:          518
      EdgeCount:       112
      CyclomaticComplexity: 27
      functionsReached:
        - CommLog_PrintEx
        - GetLastError
        - SetLastError
        - comm_ioctl_tcsetattr
        - tcgetattr
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:631,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:632,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:634,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:636,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:648,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:678,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:700,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:701,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:708,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:709,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:716,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:717,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:725,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:726,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:734,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:735,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:782,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:783,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:791,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:792,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:801,6'
          Dst:             comm_ioctl_tcsetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:803,3'
          Dst:             GetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:803,3'
          Dst:             CommLog_PrintEx
    - functionName:    get_line_control
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 624
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          153
      EdgeCount:       31
      CyclomaticComplexity: 4
      functionsReached:
        - SetLastError
        - tcgetattr
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/comm/comm_serial_sys.c:607,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:582,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:583,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:585,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:587,3'
          Dst:             SetLastError
    - functionName:    set_line_control
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 576
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          250
      EdgeCount:       75
      CyclomaticComplexity: 39
      functionsReached:
        - CommLog_PrintEx
        - GetLastError
        - SetLastError
        - comm_ioctl_tcsetattr
        - tcgetattr
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/comm/comm_serial_sys.c:486,2'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/comm/comm_serial_sys.c:507,2'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/comm/comm_serial_sys.c:539,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:466,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:467,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:478,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:480,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:493,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:501,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:533,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:562,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:568,6'
          Dst:             comm_ioctl_tcsetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:570,3'
          Dst:             GetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:570,3'
          Dst:             CommLog_PrintEx
    - functionName:    get_serial_chars
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 431
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - SetLastError
        - tcgetattr
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:434,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:435,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:437,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:439,3'
          Dst:             SetLastError
    - functionName:    set_serial_chars
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 428
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          185
      EdgeCount:       38
      CyclomaticComplexity: 8
      functionsReached:
        - CommLog_PrintEx
        - GetLastError
        - SetLastError
        - comm_ioctl_tcsetattr
        - tcgetattr
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:361,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:362,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:364,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:366,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:383,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:384,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:396,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:398,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:405,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:407,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:420,6'
          Dst:             comm_ioctl_tcsetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:422,3'
          Dst:             GetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:422,3'
          Dst:             CommLog_PrintEx
    - functionName:    get_properties
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 267
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          129
      EdgeCount:       24
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:207,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:215,2'
          Dst:             winpr_int_assert
    - functionName:    get_baud_rate
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          109
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - CommLog_PrintEx
        - SetLastError
        - cfgetispeed
        - tcgetattr
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:321,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:322,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:324,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:326,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:330,17'
          Dst:             cfgetispeed
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:341,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:343,2'
          Dst:             SetLastError
    - functionName:    cfgetispeed
      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:    set_baud_rate
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          152
      EdgeCount:       39
      CyclomaticComplexity: 7
      functionsReached:
        - CommLog_PrintEx
        - GetLastError
        - SetLastError
        - cfgetispeed
        - cfsetspeed
        - comm_ioctl_tcsetattr
        - tcgetattr
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:275,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:276,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:278,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:281,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:290,8'
          Dst:             cfsetspeed
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:292,5'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:297,4'
          Dst:             cfgetispeed
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:297,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:299,8'
          Dst:             comm_ioctl_tcsetattr
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:301,5'
          Dst:             GetLastError
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:301,5'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:310,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_serial_sys.c:312,2'
          Dst:             SetLastError
    - functionName:    cfsetspeed
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SerialSys_s
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_serial_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1664
      functionLinenumberEnd: 1665
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_wait_mask
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_sercx_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - CommLog_PrintEx
        - SerialSys_s
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:155,36'
          Dst:             SerialSys_s
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:156,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:162,3'
          Dst:             CommLog_PrintEx
    - functionName:    get_handflow
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_sercx_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          43
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SerialSys_s
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:124,36'
          Dst:             SerialSys_s
    - functionName:    set_handflow
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_sercx_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          232
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - CommLog_PrintEx
        - SerialSys_s
        - SetLastError
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:35,36'
          Dst:             SerialSys_s
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:54,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:60,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:66,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:70,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:78,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:84,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:90,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:96,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:102,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:108,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:112,3'
          Dst:             SetLastError
    - functionName:    SerCxSys_s
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_sercx_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          133
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SerialSys_s
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_sercx_sys.c:215,36'
          Dst:             SerialSys_s
    - functionName:    purge
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_sercx2_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          120
      EdgeCount:       36
      CyclomaticComplexity: 6
      functionsReached:
        - CommLog_PrintEx
        - SerialSys_s
        - SetLastError
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:100,36'
          Dst:             SerialSys_s
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:102,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:103,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:104,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:110,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:112,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:118,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:120,3'
          Dst:             SetLastError
    - functionName:    set_wait_mask
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_sercx2_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          93
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - CommLog_PrintEx
        - SerialSys_s
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:74,36'
          Dst:             SerialSys_s
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:76,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:77,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:78,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:84,3'
          Dst:             CommLog_PrintEx
    - functionName:    get_serial_chars
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_sercx2_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          44
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:53,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:54,2'
          Dst:             winpr_int_assert
    - functionName:    set_serial_chars
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_sercx2_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          42
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:45,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:46,2'
          Dst:             winpr_int_assert
    - functionName:    SerCx2Sys_s
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_sercx2_sys.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          128
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SerCxSys_s
        - SerialSys_s
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:166,36'
          Dst:             SerialSys_s
        - Src:             'winpr/libwinpr/comm/comm_sercx2_sys.c:167,35'
          Dst:             SerCxSys_s
    - functionName:    NamedPipeGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          50
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - NamedPipeIsHandled
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:212,7'
          Dst:             NamedPipeIsHandled
    - functionName:    NamedPipeIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WINPR_HANDLE_IS_HANDLED
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:205,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          76
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/../handle/handle.h:130,3'
          Dst:             SetLastError
    - functionName:    PipeWrite
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - __errno_location
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:161,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:162,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:170,15'
          Dst:             write
        - Src:             'winpr/libwinpr/pipe/pipe.c:171,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:173,26'
          Dst:             __errno_location
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PipeRead
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          115
      EdgeCount:       26
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - __errno_location
        - read
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/pipe/pipe.c:137,3'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:121,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:122,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:130,15'
          Dst:             read
        - Src:             'winpr/libwinpr/pipe/pipe.c:131,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:137,11'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:140,5'
          Dst:             SetLastError
    - functionName:    read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PipeGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - PipeIsHandled
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:89,7'
          Dst:             PipeIsHandled
    - functionName:    PipeIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WINPR_HANDLE_IS_HANDLED
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:82,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    PipeCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - PipeIsHandled
        - close
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:99,7'
          Dst:             PipeIsHandled
        - Src:             'winpr/libwinpr/pipe/pipe.c:104,3'
          Dst:             close
    - functionName:    GetNamedPipeClientComputerNameW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 934
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:935,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:936,2'
          Dst:             SetLastError
    - functionName:    GetNamedPipeClientComputerNameA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 925
      functionLinenumberEnd: 928
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:926,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:927,2'
          Dst:             SetLastError
    - functionName:    ImpersonateNamedPipeClient
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 916
      functionLinenumberEnd: 919
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:917,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:918,2'
          Dst:             SetLastError
    - functionName:    SetNamedPipeHandleState
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 876
      functionLinenumberEnd: 913
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          144
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - fcntl64
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:890,11'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/pipe/pipe.c:900,7'
          Dst:             fcntl64
    - functionName:    WaitNamedPipeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 866
      functionLinenumberEnd: 869
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:867,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:868,2'
          Dst:             SetLastError
    - functionName:    WaitNamedPipeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 828
      functionLinenumberEnd: 863
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          95
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - GetNamedPipeUnixDomainSocketFilePathA
        - Sleep
        - winpr_PathFileExists
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:837,15'
          Dst:             GetNamedPipeUnixDomainSocketFilePathA
        - Src:             'winpr/libwinpr/pipe/pipe.c:849,10'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/pipe/pipe.c:851,3'
          Dst:             Sleep
    - functionName:    TransactNamedPipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 821
      functionLinenumberEnd: 824
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:822,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:823,2'
          Dst:             SetLastError
    - functionName:    PeekNamedPipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 810
      functionLinenumberEnd: 813
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:811,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:812,2'
          Dst:             SetLastError
    - functionName:    DisconnectNamedPipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 793
      functionLinenumberEnd: 803
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - close
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:799,3'
          Dst:             close
    - functionName:    ConnectNamedPipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 741
      functionLinenumberEnd: 790
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          121
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - SetEvent
        - SetLastError
        - WLog_Print_dbg_tag
        - accept
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:748,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:749,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:762,12'
          Dst:             accept
        - Src:             'winpr/libwinpr/pipe/pipe.c:766,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:786,9'
          Dst:             SetEvent
    - functionName:    CreateNamedPipeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      'N/A'
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:735,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:736,2'
          Dst:             SetLastError
    - functionName:    NamedPipeCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          100
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - NamedPipeIsHandled
        - close
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:229,7'
          Dst:             NamedPipeIsHandled
        - Src:             'winpr/libwinpr/pipe/pipe.c:241,3'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:244,3'
          Dst:             close
    - functionName:    winpr_unref_named_pipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 557
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          162
      EdgeCount:       50
      CyclomaticComplexity: 6
      functionsReached:
        - ArrayList_Count
        - ArrayList_GetItem
        - ArrayList_Lock
        - ArrayList_Remove
        - ArrayList_Unlock
        - close
        - strcmp
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:526,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pipe/pipe.c:527,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pipe/pipe.c:529,2'
          Dst:             ArrayList_Lock
        - Src:             'winpr/libwinpr/pipe/pipe.c:531,33'
          Dst:             ArrayList_Count
        - Src:             'winpr/libwinpr/pipe/pipe.c:534,36'
          Dst:             ArrayList_GetItem
        - Src:             'winpr/libwinpr/pipe/pipe.c:535,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pipe/pipe.c:537,8'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/pipe/pipe.c:539,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pipe/pipe.c:540,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pipe/pipe.c:546,5'
          Dst:             ArrayList_Remove
        - Src:             'winpr/libwinpr/pipe/pipe.c:547,5'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:556,2'
          Dst:             ArrayList_Unlock
    - functionName:    InitWinPRPipeModule
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 463
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ArrayList_New
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:461,29'
          Dst:             ArrayList_New
    - functionName:    CreateNamedPipeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 726
      functionDepth:   0
      returnType:      'N/A'
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         57
      ICount:          426
      EdgeCount:       79
      CyclomaticComplexity: 24
      functionsReached:
        - ArrayList_Append
        - ArrayList_Count
        - ArrayList_GetItem
        - ArrayList_Lock
        - ArrayList_Unlock
        - CreateDirectoryA
        - GetNamedPipeNameWithoutPrefixA
        - GetNamedPipeUnixDomainSocketBaseFilePathA
        - GetNamedPipeUnixDomainSocketFilePathA
        - InitWinPRPipeModule
        - NamedPipeCloseHandle
        - SetLastError
        - UnixChangeFileMode
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - WLog_Print_dbg_tag
        - __errno_location
        - _strdup
        - bind
        - calloc
        - close
        - dup
        - listen
        - snprintf
        - socket
        - strcmp
        - winpr_DeleteFile
        - winpr_PathFileExists
        - winpr_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:572,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:573,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:580,7'
          Dst:             InitWinPRPipeModule
        - Src:             'winpr/libwinpr/pipe/pipe.c:583,34'
          Dst:             calloc
        - Src:             'winpr/libwinpr/pipe/pipe.c:588,2'
          Dst:             ArrayList_Lock
        - Src:             'winpr/libwinpr/pipe/pipe.c:589,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/pipe/pipe.c:593,27'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/pipe/pipe.c:596,33'
          Dst:             GetNamedPipeNameWithoutPrefixA
        - Src:             'winpr/libwinpr/pipe/pipe.c:599,33'
          Dst:             GetNamedPipeUnixDomainSocketFilePathA
        - Src:             'winpr/libwinpr/pipe/pipe.c:613,33'
          Dst:             ArrayList_Count
        - Src:             'winpr/libwinpr/pipe/pipe.c:616,36'
          Dst:             ArrayList_GetItem
        - Src:             'winpr/libwinpr/pipe/pipe.c:618,8'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/pipe/pipe.c:632,22'
          Dst:             GetNamedPipeUnixDomainSocketBaseFilePathA
        - Src:             'winpr/libwinpr/pipe/pipe.c:635,8'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/pipe/pipe.c:637,9'
          Dst:             CreateDirectoryA
        - Src:             'winpr/libwinpr/pipe/pipe.c:643,4'
          Dst:             UnixChangeFileMode
        - Src:             'winpr/libwinpr/pipe/pipe.c:648,7'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/pipe/pipe.c:649,4'
          Dst:             winpr_DeleteFile
        - Src:             'winpr/libwinpr/pipe/pipe.c:651,19'
          Dst:             socket
        - Src:             'winpr/libwinpr/pipe/pipe.c:654,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:654,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/pipe/pipe.c:654,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:660,9'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/pipe/pipe.c:662,7'
          Dst:             bind
        - Src:             'winpr/libwinpr/pipe/pipe.c:665,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:665,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/pipe/pipe.c:665,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:670,7'
          Dst:             listen
        - Src:             'winpr/libwinpr/pipe/pipe.c:673,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:673,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/pipe/pipe.c:673,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:678,3'
          Dst:             UnixChangeFileMode
        - Src:             'winpr/libwinpr/pipe/pipe.c:683,28'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/pipe/pipe.c:692,8'
          Dst:             ArrayList_Append
        - Src:             'winpr/libwinpr/pipe/pipe.c:703,25'
          Dst:             dup
        - Src:             'winpr/libwinpr/pipe/pipe.c:712,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:716,2'
          Dst:             ArrayList_Unlock
        - Src:             'winpr/libwinpr/pipe/pipe.c:719,2'
          Dst:             NamedPipeCloseHandle
        - Src:             'winpr/libwinpr/pipe/pipe.c:722,3'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:724,2'
          Dst:             ArrayList_Unlock
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NamedPipeRead
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          180
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - SetEvent
        - SetLastError
        - WLog_Print_dbg_tag
        - __errno_location
        - read
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/pipe/pipe.c:277,4'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:265,16'
          Dst:             read
        - Src:             'winpr/libwinpr/pipe/pipe.c:266,32'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:270,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:277,12'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:280,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:284,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:297,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:298,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:332,9'
          Dst:             SetEvent
    - functionName:    NamedPipeWrite
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 432
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          173
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - SetEvent
        - SetLastError
        - WLog_Print_dbg_tag
        - __errno_location
        - write
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/pipe/pipe.c:369,4'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:348,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:349,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:362,16'
          Dst:             write
        - Src:             'winpr/libwinpr/pipe/pipe.c:363,32'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:369,12'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:427,9'
          Dst:             SetEvent
    - functionName:    CreatePipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          160
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - WLog_Print_dbg_tag
        - calloc
        - close
        - pipe
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:479,6'
          Dst:             pipe
        - Src:             'winpr/libwinpr/pipe/pipe.c:482,4'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:484,4'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:486,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:490,27'
          Dst:             calloc
        - Src:             'winpr/libwinpr/pipe/pipe.c:491,28'
          Dst:             calloc
        - Src:             'winpr/libwinpr/pipe/pipe.c:496,4'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:498,4'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:506,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/pipe/pipe.c:509,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
    - functionName:    pipe
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PopEntryList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          48
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:536,2'
          Dst:             winpr_int_assert
    - functionName:    PushEntryList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 526
      functionLinenumberEnd: 532
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          52
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:527,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:528,2'
          Dst:             winpr_int_assert
    - functionName:    AppendTailList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 523
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          69
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:514,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:515,2'
          Dst:             winpr_int_assert
    - functionName:    RemoveTailList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 509
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          71
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:498,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:501,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:504,2'
          Dst:             winpr_int_assert
    - functionName:    InsertTailList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          75
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:484,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:485,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:488,2'
          Dst:             winpr_int_assert
    - functionName:    RemoveHeadList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          71
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:468,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:471,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:474,2'
          Dst:             winpr_int_assert
    - functionName:    InsertHeadList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 464
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          75
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:454,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:455,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:458,2'
          Dst:             winpr_int_assert
    - functionName:    RemoveEntryList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          74
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:439,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:441,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:444,2'
          Dst:             winpr_int_assert
    - functionName:    IsListEmpty
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 434
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:433,2'
          Dst:             winpr_int_assert
    - functionName:    InitializeListHead
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          35
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:427,2'
          Dst:             winpr_int_assert
    - functionName:    InterlockedCompareExchangePointer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 317
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:312,2'
          Dst:             winpr_int_assert
    - functionName:    InterlockedCompareExchange
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          37
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:297,2'
          Dst:             winpr_int_assert
    - functionName:    InterlockedExchangeAdd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:283,2'
          Dst:             winpr_int_assert
    - functionName:    InterlockedExchange
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:269,2'
          Dst:             winpr_int_assert
    - functionName:    InterlockedDecrement
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:255,2'
          Dst:             winpr_int_assert
    - functionName:    InterlockedIncrement
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:241,2'
          Dst:             winpr_int_assert
    - functionName:    QueryDepthSList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:228,2'
          Dst:             winpr_int_assert
    - functionName:    InterlockedFlushSList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          100
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - InterlockedCompareExchange64
        - QueryDepthSList
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:181,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:182,7'
          Dst:             QueryDepthSList
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:218,11'
          Dst:             InterlockedCompareExchange64
    - functionName:    InterlockedCompareExchange64
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          37
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:400,2'
          Dst:             winpr_int_assert
    - functionName:    InterlockedPopEntrySList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          114
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - InterlockedCompareExchange64
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:126,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:169,11'
          Dst:             InterlockedCompareExchange64
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    InterlockedPushListSListEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          59
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:107,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:108,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:109,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:111,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    InterlockedPushEntrySList
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          120
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - InterlockedCompareExchange64
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:56,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:57,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:94,11'
          Dst:             InterlockedCompareExchange64
    - functionName:    InitializeSListHead
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/interlocked/interlocked.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          30
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/interlocked/interlocked.c:40,2'
          Dst:             winpr_int_assert
    - functionName:    GetEnvironmentVariableX
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 779
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetEnvironmentVariableA
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:779,9'
          Dst:             GetEnvironmentVariableA
    - functionName:    GetEnvironmentVariableA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          75
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - SetLastError
        - getenv
        - strlen
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:173,14'
          Dst:             getenv
        - Src:             'winpr/libwinpr/environment/environment.c:177,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/environment/environment.c:181,11'
          Dst:             strlen
    - functionName:    getenv
      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:    EnvironmentBlockToEnvpA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 666
      functionLinenumberEnd: 712
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          179
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - _strdup
        - calloc
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:681,12'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:689,17'
          Dst:             calloc
        - Src:             'winpr/libwinpr/environment/environment.c:696,12'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:697,17'
          Dst:             _strdup
    - functionName:    SetEnvironmentVariableEBA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 624
      functionLinenumberEnd: 663
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          107
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - MergeEnvironmentStrings
        - snprintf
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:634,13'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:634,30'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:640,9'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/environment/environment.c:644,12'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:650,9'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/environment/environment.c:655,10'
          Dst:             MergeEnvironmentStrings
    - functionName:    MergeEnvironmentStrings
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 560
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         87
      ICount:          582
      EdgeCount:       113
      CyclomaticComplexity: 28
      functionsReached:
        - calloc
        - realloc
        - strlen
        - strncmp
        - strstr
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:398,26'
          Dst:             calloc
        - Src:             'winpr/libwinpr/environment/environment.c:409,12'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:416,28'
          Dst:             realloc
        - Src:             'winpr/libwinpr/environment/environment.c:434,31'
          Dst:             calloc
        - Src:             'winpr/libwinpr/environment/environment.c:447,12'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:452,21'
          Dst:             realloc
        - Src:             'winpr/libwinpr/environment/environment.c:472,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:473,18'
          Dst:             strstr
        - Src:             'winpr/libwinpr/environment/environment.c:479,41'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/environment/environment.c:479,41'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/environment/environment.c:479,8'
          Dst:             strncmp
        - Src:             'winpr/libwinpr/environment/environment.c:493,17'
          Dst:             realloc
        - Src:             'winpr/libwinpr/environment/environment.c:530,17'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:535,21'
          Dst:             realloc
    - functionName:    strstr
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetEnvironmentVariableEBA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 563
      functionLinenumberEnd: 621
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          267
      EdgeCount:       69
      CyclomaticComplexity: 17
      functionsReached:
        - strlen
        - strncmp
        - strstr
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:575,17'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:582,13'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:583,17'
          Dst:             strstr
        - Src:             'winpr/libwinpr/environment/environment.c:591,13'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/environment/environment.c:591,13'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/environment/environment.c:599,7'
          Dst:             strncmp
        - Src:             'winpr/libwinpr/environment/environment.c:611,12'
          Dst:             strlen
    - functionName:    FreeEnvironmentStringsW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ExpandEnvironmentStringsW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:362,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    ExpandEnvironmentStringsA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:355,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetEnvironmentStringsW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:348,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetEnvironmentStringsA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:342,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FreeEnvironmentStringsA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetEnvironmentStringsW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ConvertMszUtf8NToWCharAlloc
        - FreeEnvironmentStringsA
        - GetEnvironmentStringsAN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:332,13'
          Dst:             GetEnvironmentStringsAN
        - Src:             'winpr/libwinpr/environment/environment.c:335,15'
          Dst:             ConvertMszUtf8NToWCharAlloc
        - Src:             'winpr/libwinpr/environment/environment.c:336,2'
          Dst:             FreeEnvironmentStringsA
    - functionName:    GetEnvironmentStringsAN
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          185
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - WLog_Print_dbg_tag
        - calloc
        - realloc
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:261,36'
          Dst:             calloc
        - Src:             'winpr/libwinpr/environment/environment.c:271,25'
          Dst:             strlen
        - Src:             'winpr/libwinpr/environment/environment.c:275,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/environment/environment.c:288,25'
          Dst:             realloc
    - functionName:    GetEnvironmentStrings
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 325
      functionLinenumberEnd: 326
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetEnvironmentStringsAN
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:326,9'
          Dst:             GetEnvironmentStringsAN
    - functionName:    SetEnvironmentVariableW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:231,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetEnvironmentVariableA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          59
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - setenv
        - unsetenv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:213,12'
          Dst:             setenv
        - Src:             'winpr/libwinpr/environment/environment.c:219,12'
          Dst:             unsetenv
    - functionName:    setenv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unsetenv
      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:    GetEnvironmentVariableW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:199,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/environment/environment.c:200,2'
          Dst:             SetLastError
    - functionName:    NeedCurrentDirectoryForExePathW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:159,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    NeedCurrentDirectoryForExePathA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:153,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetCommandLineW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:147,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetCommandLineA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:141,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SearchPathW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:135,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SearchPathA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:127,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetCurrentDirectoryW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:119,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetCurrentDirectoryA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:113,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetCurrentDirectoryW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:107,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetCurrentDirectoryA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/environment/environment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          149
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - getcwd
        - realloc
        - strnlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/environment/environment.c:61,15'
          Dst:             realloc
        - Src:             'winpr/libwinpr/environment/environment.c:69,10'
          Dst:             getcwd
        - Src:             'winpr/libwinpr/environment/environment.c:70,21'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/environment/environment.c:78,11'
          Dst:             strnlen
    - functionName:    getcwd
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_GetConfigFilePathV
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1227
      functionLinenumberEnd: 1232
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_GetConfigFilePathVA
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:1230,14'
          Dst:             winpr_GetConfigFilePathVA
    - functionName:    winpr_GetConfigFilePathVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1191
      functionLinenumberEnd: 1217
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          111
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - GetCombinedPathV
        - GetCombinedPathVA
        - GetKnownSubPathV
        - winpr_getApplicationDetailsProduct
        - winpr_getApplicationDetailsVendor
        - winpr_getApplicationDetailsVersion
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:1193,23'
          Dst:             winpr_getApplicationDetailsVendor
        - Src:             'winpr/libwinpr/path/path.c:1194,24'
          Dst:             winpr_getApplicationDetailsProduct
        - Src:             'winpr/libwinpr/path/path.c:1195,26'
          Dst:             winpr_getApplicationDetailsVersion
        - Src:             'winpr/libwinpr/path/path.c:1200,17'
          Dst:             GetKnownSubPathV
        - Src:             'winpr/libwinpr/path/path.c:1206,10'
          Dst:             GetCombinedPathV
        - Src:             'winpr/libwinpr/path/path.c:1208,10'
          Dst:             GetCombinedPathV
        - Src:             'winpr/libwinpr/path/path.c:1213,15'
          Dst:             GetCombinedPathVA
    - functionName:    winpr_GetConfigFilePath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1220
      functionLinenumberEnd: 1224
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_GetConfigFilePathV
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:1222,10'
          Dst:             winpr_GetConfigFilePathV
        - Src:             'winpr/libwinpr/path/path.c:1223,9'
          Dst:             winpr_GetConfigFilePathV
    - functionName:    winpr_RemoveDirectory_RecursiveW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1181
      functionLinenumberEnd: 1188
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - winpr_RemoveDirectory_RecursiveA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:1182,15'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/path.c:1185,18'
          Dst:             winpr_RemoveDirectory_RecursiveA
    - functionName:    winpr_RemoveDirectory_RecursiveA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1109
      functionLinenumberEnd: 1178
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         47
      ICount:          256
      EdgeCount:       63
      CyclomaticComplexity: 18
      functionsReached:
        - FindClose
        - FindFirstFileA
        - FindNextFileA
        - NativePathCchAppendA
        - calloc
        - concat
        - strlen
        - strncat
        - strnlen
        - winpr_DeleteFile
        - winpr_RemoveDirectory
        - winpr_RemoveDirectory_RecursiveA
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:1115,29'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/path.c:1117,21'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/path.c:1120,2'
          Dst:             strncat
        - Src:             'winpr/libwinpr/path/path.c:1123,21'
          Dst:             NativePathCchAppendA
        - Src:             'winpr/libwinpr/path/path.c:1130,9'
          Dst:             FindFirstFileA
        - Src:             'winpr/libwinpr/path/path.c:1139,23'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/path.c:1147,21'
          Dst:             concat
        - Src:             'winpr/libwinpr/path/path.c:1152,11'
          Dst:             winpr_RemoveDirectory_RecursiveA
        - Src:             'winpr/libwinpr/path/path.c:1157,11'
          Dst:             winpr_DeleteFile
        - Src:             'winpr/libwinpr/path/path.c:1165,19'
          Dst:             FindNextFileA
        - Src:             'winpr/libwinpr/path/path.c:1170,8'
          Dst:             winpr_RemoveDirectory
        - Src:             'winpr/libwinpr/path/path.c:1175,2'
          Dst:             FindClose
    - functionName:    NativePathCchAppendA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAppend.h'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          263
      EdgeCount:       65
      CyclomaticComplexity: 19
      functionsReached:
        - HRESULT_FROM_WIN32
        - snprintf
        - strnlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:92,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:96,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:104,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:112,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:120,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:126,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    concat
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1097
      functionLinenumberEnd: 1106
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - winpr_str_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:1099,14'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/path.c:1103,2'
          Dst:             winpr_str_append
        - Src:             'winpr/libwinpr/path/path.c:1104,2'
          Dst:             winpr_str_append
    - functionName:    HRESULT_FROM_WIN32
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/error.h'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          32
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    27
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetKnownPathIdString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1074
      functionLinenumberEnd: 1094
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       18
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/path/path.c:1075,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    PathGetSharedLibraryExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1004
      functionLinenumberEnd: 1071
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          139
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - InitializeConstWCharFromUtf8
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:1006,47'
          Dst:             InitializeConstWCharFromUtf8
        - Src:             'winpr/libwinpr/path/path.c:1009,6'
          Dst:             InitializeConstWCharFromUtf8
        - Src:             'winpr/libwinpr/path/path.c:1010,49'
          Dst:             InitializeConstWCharFromUtf8
        - Src:             'winpr/libwinpr/path/path.c:1013,6'
          Dst:             InitializeConstWCharFromUtf8
        - Src:             'winpr/libwinpr/path/path.c:1015,6'
          Dst:             InitializeConstWCharFromUtf8
        - Src:             'winpr/libwinpr/path/path.c:1017,6'
          Dst:             InitializeConstWCharFromUtf8
    - functionName:    PathGetSharedLibraryExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 948
      functionLinenumberEnd: 1001
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          106
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PathGetSeparatorW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 928
      functionLinenumberEnd: 935
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PathGetSeparatorA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 918
      functionLinenumberEnd: 925
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PathCchConvertStyleW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 859
      functionLinenumberEnd: 911
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          153
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PathCchConvertStyleA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 804
      functionLinenumberEnd: 856
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          153
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PathCchRemoveFileSpecW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 790
      functionLinenumberEnd: 792
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:791,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    35
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    PathCchRemoveFileSpecA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 784
      functionLinenumberEnd: 786
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:785,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchStripPrefixW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 742
      functionLinenumberEnd: 777
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          176
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - HRESULT_FROM_WIN32
        - IsCharAlphaW
        - _wcslen
        - wmemmove_s
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:759,22'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/path.c:761,11'
          Dst:             HRESULT_FROM_WIN32
        - Src:             'winpr/libwinpr/path/path.c:763,7'
          Dst:             IsCharAlphaW
        - Src:             'winpr/libwinpr/path/path.c:765,8'
          Dst:             wmemmove_s
        - Src:             'winpr/libwinpr/path/path.c:766,12'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchStripPrefixA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 707
      functionLinenumberEnd: 739
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          159
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached:
        - HRESULT_FROM_WIN32
        - IsCharAlphaA
        - memmove_s
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:724,7'
          Dst:             IsCharAlphaA
        - Src:             'winpr/libwinpr/path/path.c:726,8'
          Dst:             memmove_s
        - Src:             'winpr/libwinpr/path/path.c:727,12'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchStripToRootW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 699
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:698,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchStripToRootA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 691
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:692,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchSkipRootW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 683
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:682,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchSkipRootA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 675
      functionLinenumberEnd: 677
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:676,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathIsUNCExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 657
      functionLinenumberEnd: 668
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PathIsUNCExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 643
      functionLinenumberEnd: 654
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PathCchIsRootW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 635
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:634,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchIsRootA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 627
      functionLinenumberEnd: 629
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:628,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRemoveExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 619
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:618,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRemoveExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 613
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:612,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRenameExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 601
      functionLinenumberEnd: 603
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:602,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRenameExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 594
      functionLinenumberEnd: 596
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:595,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchFindExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 585
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:584,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchFindExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 540
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          142
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NativePathAllocCombineW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathAllocCombine.h'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          227
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - WLog_Print_dbg_tag
        - _wcslen
        - _wcsncat
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:34,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:48,33'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:49,31'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:66,30'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:71,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:72,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:73,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:82,29'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:87,3'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:89,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:90,3'
          Dst:             _wcsncat
    - functionName:    NativePathAllocCombineA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathAllocCombine.h'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          222
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - WLog_Print_dbg_tag
        - calloc
        - snprintf
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:104,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:118,33'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:119,31'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:135,22'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:140,10'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:149,21'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:155,10'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:157,10'
          Dst:             snprintf
    - functionName:    UnixPathAllocCombineW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathAllocCombine.h'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          227
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - WLog_Print_dbg_tag
        - _wcslen
        - _wcsncat
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:34,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:48,33'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:49,31'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:66,30'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:71,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:72,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:73,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:82,29'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:87,3'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:89,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:90,3'
          Dst:             _wcsncat
    - functionName:    UnixPathAllocCombineA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathAllocCombine.h'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          222
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - WLog_Print_dbg_tag
        - calloc
        - snprintf
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:104,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:118,33'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:119,31'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:135,22'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:140,10'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:149,21'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:155,10'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:157,10'
          Dst:             snprintf
    - functionName:    PathAllocCombineW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathAllocCombine.h'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          227
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - WLog_Print_dbg_tag
        - _wcslen
        - _wcsncat
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:34,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:48,33'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:49,31'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:66,30'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:71,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:72,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:73,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:82,29'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:87,3'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:89,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:90,3'
          Dst:             _wcsncat
    - functionName:    PathAllocCombineA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathAllocCombine.h'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          222
      EdgeCount:       44
      CyclomaticComplexity: 14
      functionsReached:
        - WLog_Print_dbg_tag
        - calloc
        - snprintf
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:104,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:118,33'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:119,31'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:135,22'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:140,10'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:149,21'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:155,10'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathAllocCombine.h:157,10'
          Dst:             snprintf
    - functionName:    PathCchCombineExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 460
      functionLinenumberEnd: 462
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:461,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchCombineExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 454
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:453,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchCombineW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 442
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:441,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchCombineA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 435
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:434,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathAllocCanonicalizeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 422
      functionLinenumberEnd: 424
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:423,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathAllocCanonicalizeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 416
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:415,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchCanonicalizeExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:403,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchCanonicalizeExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:394,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchCanonicalizeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:381,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchCanonicalizeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:373,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchAppendExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:362,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchAppendExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:355,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    NativePathCchAppendW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAppend.h'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          272
      EdgeCount:       64
      CyclomaticComplexity: 19
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcsncat
        - _wcsnlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:28,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:29,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:46,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:56,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:67,13'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:66,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:68,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:73,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    UnixPathCchAppendW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAppend.h'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          272
      EdgeCount:       64
      CyclomaticComplexity: 19
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcsncat
        - _wcsnlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:28,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:29,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:46,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:56,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:67,13'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:66,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:68,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:73,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    UnixPathCchAppendA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAppend.h'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          263
      EdgeCount:       65
      CyclomaticComplexity: 19
      functionsReached:
        - HRESULT_FROM_WIN32
        - snprintf
        - strnlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:92,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:96,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:104,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:112,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:120,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:126,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAppendW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAppend.h'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          272
      EdgeCount:       64
      CyclomaticComplexity: 19
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcsncat
        - _wcsnlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:28,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:29,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:46,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:56,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:67,13'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:66,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:68,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:73,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAppendA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAppend.h'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          263
      EdgeCount:       65
      CyclomaticComplexity: 19
      functionsReached:
        - HRESULT_FROM_WIN32
        - snprintf
        - strnlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:92,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:96,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:104,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:112,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:120,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAppend.h:126,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    NativePathCchAddExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddExtension.h'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          140
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcslen
        - _wcsncat
        - _wcsrchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:24,17'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:25,18'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:28,9'
          Dst:             _wcsrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:29,15'
          Dst:             _wcsrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:44,23'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:44,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:45,3'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:50,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    NativePathCchAddExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddExtension.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          138
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - HRESULT_FROM_WIN32
        - snprintf
        - strlen
        - strrchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:69,17'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:70,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:73,9'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:74,15'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:85,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:87,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:92,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    UnixPathCchAddExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddExtension.h'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          140
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcslen
        - _wcsncat
        - _wcsrchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:24,17'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:25,18'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:28,9'
          Dst:             _wcsrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:29,15'
          Dst:             _wcsrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:44,23'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:44,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:45,3'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:50,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    UnixPathCchAddExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddExtension.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          138
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - HRESULT_FROM_WIN32
        - snprintf
        - strlen
        - strrchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:69,17'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:70,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:73,9'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:74,15'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:85,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:87,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:92,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddExtension.h'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          140
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcslen
        - _wcsncat
        - _wcsrchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:24,17'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:25,18'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:28,9'
          Dst:             _wcsrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:29,15'
          Dst:             _wcsrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:44,23'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:44,4'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:45,3'
          Dst:             _wcsncat
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:50,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddExtension.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          138
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - HRESULT_FROM_WIN32
        - snprintf
        - strlen
        - strrchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:69,17'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:70,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:73,9'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:74,15'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:85,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:87,4'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/path/include/PathCchAddExtension.h:92,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchRemoveBackslashExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:216,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRemoveBackslashExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:208,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchAddSeparatorExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcslen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:20,18'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:33,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSeparatorExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:47,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:60,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSlashExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcslen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:20,18'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:33,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSlashExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:47,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:60,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddBackslashExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcslen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:20,18'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:33,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddBackslashExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:47,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:60,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchRemoveBackslashW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:142,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRemoveBackslashA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:136,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchAddSeparatorW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcslen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:17,18'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:30,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSeparatorA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:42,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:55,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSlashW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcslen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:17,18'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:30,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSlashA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:42,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:55,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddBackslashW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcslen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:17,18'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:30,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddBackslashA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - HRESULT_FROM_WIN32
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:42,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:55,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    winpr_PathMakePath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 888
      functionLinenumberEnd: 905
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - PathMakePathA
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:892,9'
          Dst:             PathMakePathA
    - functionName:    PathMakePathA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 555
      functionLinenumberEnd: 605
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          127
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - PathGetSeparatorA
        - __errno_location
        - _strdup
        - mkdir
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:561,21'
          Dst:             PathGetSeparatorA
        - Src:             'winpr/libwinpr/path/shell.c:577,14'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/path/shell.c:588,12'
          Dst:             strchr
        - Src:             'winpr/libwinpr/path/shell.c:591,7'
          Dst:             mkdir
        - Src:             'winpr/libwinpr/path/shell.c:592,8'
          Dst:             __errno_location
    - functionName:    winpr_RemoveDirectory
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 839
      functionLinenumberEnd: 848
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SetLastError
        - __errno_location
        - map_posix_err
        - rmdir
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:841,12'
          Dst:             rmdir
        - Src:             'winpr/libwinpr/path/shell.c:844,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/path/shell.c:844,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/path/shell.c:844,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/path/shell.c:846,3'
          Dst:             SetLastError
    - functionName:    rmdir
      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:    winpr_DeleteFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 836
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - unlink
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:818,21'
          Dst:             unlink
    - functionName:    unlink
      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:    winpr_MoveFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 810
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          95
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - SetLastError
        - __errno_location
        - map_posix_err
        - rename
        - stat64
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:763,8'
          Dst:             stat64
        - Src:             'winpr/libwinpr/path/shell.c:769,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/path/shell.c:777,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/path/shell.c:782,8'
          Dst:             rename
        - Src:             'winpr/libwinpr/path/shell.c:785,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/path/shell.c:785,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/path/shell.c:785,3'
          Dst:             SetLastError
    - functionName:    rename
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_MoveFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 755
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_MoveFileEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:755,9'
          Dst:             winpr_MoveFileEx
    - functionName:    PathIsDirectoryEmptyW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 748
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - PathIsDirectoryEmptyA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:742,16'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/shell.c:745,8'
          Dst:             PathIsDirectoryEmptyA
    - functionName:    PathIsDirectoryEmptyA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 714
      functionLinenumberEnd: 734
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          74
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - closedir
        - opendir
        - readdir64
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:717,13'
          Dst:             opendir
        - Src:             'winpr/libwinpr/path/shell.c:723,15'
          Dst:             readdir64
        - Src:             'winpr/libwinpr/path/shell.c:725,7'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/path/shell.c:725,39'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/path/shell.c:732,2'
          Dst:             closedir
    - functionName:    winpr_PathFileExists
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 868
      functionLinenumberEnd: 885
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - PathFileExistsA
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:872,9'
          Dst:             PathFileExistsA
    - functionName:    PathFileExistsA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 690
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - stat64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:693,10'
          Dst:             stat64
    - functionName:    PathFileExistsW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 710
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - winpr_PathFileExists
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:703,16'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/shell.c:707,8'
          Dst:             winpr_PathFileExists
    - functionName:    PathIsRelativeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 673
      functionLinenumberEnd: 686
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - PathIsRelativeA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:680,16'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/shell.c:683,8'
          Dst:             PathIsRelativeA
    - functionName:    PathIsRelativeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 665
      functionLinenumberEnd: 670
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PathMakePathW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 608
      functionLinenumberEnd: 660
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          131
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - PathGetSeparatorA
        - PathGetSeparatorW
        - __errno_location
        - mkdir
        - strchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:614,23'
          Dst:             PathGetSeparatorW
        - Src:             'winpr/libwinpr/path/shell.c:615,21'
          Dst:             PathGetSeparatorA
        - Src:             'winpr/libwinpr/path/shell.c:631,8'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/shell.c:643,12'
          Dst:             strchr
        - Src:             'winpr/libwinpr/path/shell.c:646,7'
          Dst:             mkdir
        - Src:             'winpr/libwinpr/path/shell.c:647,8'
          Dst:             __errno_location
    - functionName:    GetCombinedPathV
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 492
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetCombinedPathVA
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:490,14'
          Dst:             GetCombinedPathVA
    - functionName:    GetCombinedPathVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 496
      functionLinenumberEnd: 552
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          197
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - NativePathCchAppendA
        - PathCchConvertStyleA
        - calloc
        - strlen
        - winpr_vasprintf
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:503,20'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/shell.c:508,18'
          Dst:             winpr_vasprintf
        - Src:             'winpr/libwinpr/path/shell.c:521,22'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/shell.c:529,6'
          Dst:             PathCchConvertStyleA
        - Src:             'winpr/libwinpr/path/shell.c:538,6'
          Dst:             PathCchConvertStyleA
        - Src:             'winpr/libwinpr/path/shell.c:541,11'
          Dst:             NativePathCchAppendA
    - functionName:    GetCombinedPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 479
      functionLinenumberEnd: 483
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetCombinedPathV
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:481,10'
          Dst:             GetCombinedPathV
        - Src:             'winpr/libwinpr/path/shell.c:482,9'
          Dst:             GetCombinedPathV
    - functionName:    GetEnvironmentSubPathVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 476
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetCombinedPathVA
        - GetEnvironmentPath
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:468,14'
          Dst:             GetEnvironmentPath
        - Src:             'winpr/libwinpr/path/shell.c:473,18'
          Dst:             GetCombinedPathVA
    - functionName:    GetEnvironmentPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 425
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - GetEnvironmentVariableX
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:429,10'
          Dst:             GetEnvironmentVariableX
        - Src:             'winpr/libwinpr/path/shell.c:438,13'
          Dst:             GetEnvironmentVariableX
    - functionName:    GetEnvironmentSubPathV
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 458
      functionLinenumberEnd: 463
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetEnvironmentSubPathVA
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:461,14'
          Dst:             GetEnvironmentSubPathVA
    - functionName:    GetEnvironmentSubPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 455
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetEnvironmentSubPathV
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:453,10'
          Dst:             GetEnvironmentSubPathV
        - Src:             'winpr/libwinpr/path/shell.c:454,9'
          Dst:             GetEnvironmentSubPathV
    - functionName:    GetKnownSubPathVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetCombinedPathVA
        - GetKnownPath
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:415,20'
          Dst:             GetKnownPath
        - Src:             'winpr/libwinpr/path/shell.c:419,18'
          Dst:             GetCombinedPathVA
    - functionName:    GetKnownPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          147
      EdgeCount:       39
      CyclomaticComplexity: 5
      functionsReached:
        - GetKnownPathIdString
        - GetPath_HOME
        - GetPath_SYSTEM_CONFIG_HOME
        - GetPath_TEMP
        - GetPath_XDG_CACHE_HOME
        - GetPath_XDG_CONFIG_HOME
        - GetPath_XDG_DATA_HOME
        - GetPath_XDG_RUNTIME_DIR
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/path/shell.c:355,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:358,11'
          Dst:             GetPath_HOME
        - Src:             'winpr/libwinpr/path/shell.c:362,11'
          Dst:             GetPath_TEMP
        - Src:             'winpr/libwinpr/path/shell.c:366,11'
          Dst:             GetPath_XDG_DATA_HOME
        - Src:             'winpr/libwinpr/path/shell.c:370,11'
          Dst:             GetPath_XDG_CONFIG_HOME
        - Src:             'winpr/libwinpr/path/shell.c:374,11'
          Dst:             GetPath_XDG_CACHE_HOME
        - Src:             'winpr/libwinpr/path/shell.c:378,11'
          Dst:             GetPath_XDG_RUNTIME_DIR
        - Src:             'winpr/libwinpr/path/shell.c:382,11'
          Dst:             GetPath_SYSTEM_CONFIG_HOME
        - Src:             'winpr/libwinpr/path/shell.c:391,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/shell.c:391,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/shell.c:391,3'
          Dst:             GetKnownPathIdString
        - Src:             'winpr/libwinpr/path/shell.c:391,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetPath_HOME
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetEnvAlloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:121,9'
          Dst:             GetEnvAlloc
    - functionName:    GetPath_TEMP
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetEnvAlloc
        - _strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:134,9'
          Dst:             GetEnvAlloc
        - Src:             'winpr/libwinpr/path/shell.c:137,10'
          Dst:             _strdup
    - functionName:    GetPath_XDG_DATA_HOME
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          70
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - GetEnvAlloc
        - GetPath_HOME
        - snprintf
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:159,9'
          Dst:             GetEnvAlloc
        - Src:             'winpr/libwinpr/path/shell.c:164,9'
          Dst:             GetPath_HOME
        - Src:             'winpr/libwinpr/path/shell.c:169,9'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/shell.c:178,8'
          Dst:             snprintf
    - functionName:    GetPath_XDG_CONFIG_HOME
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          83
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - GetEnvAlloc
        - GetPath_HOME
        - GetPath_TEMP
        - snprintf
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:204,9'
          Dst:             GetEnvAlloc
        - Src:             'winpr/libwinpr/path/shell.c:209,9'
          Dst:             GetPath_HOME
        - Src:             'winpr/libwinpr/path/shell.c:212,10'
          Dst:             GetPath_TEMP
        - Src:             'winpr/libwinpr/path/shell.c:217,9'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/shell.c:226,8'
          Dst:             snprintf
    - functionName:    GetPath_XDG_CACHE_HOME
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - GetEnvAlloc
        - GetPath_HOME
        - snprintf
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:277,9'
          Dst:             GetEnvAlloc
        - Src:             'winpr/libwinpr/path/shell.c:282,15'
          Dst:             GetPath_HOME
        - Src:             'winpr/libwinpr/path/shell.c:287,9'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/shell.c:296,8'
          Dst:             snprintf
    - functionName:    GetPath_XDG_RUNTIME_DIR
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetEnvAlloc
        - GetPath_TEMP
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:341,9'
          Dst:             GetEnvAlloc
        - Src:             'winpr/libwinpr/path/shell.c:347,9'
          Dst:             GetPath_TEMP
    - functionName:    GetPath_SYSTEM_CONFIG_HOME
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:242,9'
          Dst:             _strdup
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    GetEnvAlloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - GetEnvironmentVariableX
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:92,10'
          Dst:             GetEnvironmentVariableX
        - Src:             'winpr/libwinpr/path/shell.c:101,13'
          Dst:             GetEnvironmentVariableX
    - functionName:    GetKnownSubPathV
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 410
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetKnownSubPathVA
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:408,14'
          Dst:             GetKnownSubPathVA
    - functionName:    GetKnownSubPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetKnownSubPathV
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:399,10'
          Dst:             GetKnownSubPathV
        - Src:             'winpr/libwinpr/path/shell.c:400,9'
          Dst:             GetKnownSubPathV
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    winpr_atexit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/atexit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - __errno_location
        - atexit
        - winpr_strerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/atexit.c:35,17'
          Dst:             atexit
        - Src:             'winpr/libwinpr/utils/atexit.c:39,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/utils/atexit.c:39,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/utils/atexit.c:39,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/utils/atexit.c:39,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    atexit
      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:    Stream_Fill
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1233
      functionLinenumberEnd: 1238
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          57
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - Stream_Seek
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1234,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1235,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1235,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1237,3'
          Dst:             Stream_Seek
    - functionName:    Stream_GetRemainingCapacity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          96
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
        - winpr_log_backtrace
      functionUses:    35
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:247,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:248,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:250,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:253,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:254,3'
          Dst:             winpr_log_backtrace
    - functionName:    Stream_Seek
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          51
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_int_assert
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:158,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:159,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:159,3'
          Dst:             winpr_int_assert
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    winpr_Data_Get_UINT16
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:60,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_UINT16
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:236,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_SafeSeekEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_Seek
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:510,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/stream.c:514,2'
          Dst:             Stream_Seek
    - functionName:    Stream_CheckAndLogRequiredLengthEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_CheckAndLogRequiredLengthExVa
        - Stream_GetRemainingLength
        - winpr_int_assert
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:388,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:389,24'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/stream.c:396,19'
          Dst:             Stream_CheckAndLogRequiredLengthExVa
    - functionName:    Stream_GetRemainingLength
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          114
      EdgeCount:       31
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
        - winpr_log_backtrace
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:263,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:264,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:265,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:267,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:270,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:271,3'
          Dst:             winpr_log_backtrace
    - functionName:    Stream_CheckAndLogRequiredLengthExVa
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 405
      functionLinenumberEnd: 413
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          70
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogExVa
        - Stream_GetRemainingLength
        - WLog_Get
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:406,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:407,24'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/stream.c:410,51'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/utils/stream.c:410,10'
          Dst:             Stream_CheckAndLogRequiredLengthWLogExVa
    - functionName:    Stream_CheckAndLogRequiredLengthWLogExVa
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 456
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          95
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_GetRemainingLength
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - vsnprintf
        - winpr_int_assert
        - winpr_log_backtrace_ex
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:439,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:440,24'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/stream.c:446,9'
          Dst:             vsnprintf
        - Src:             'winpr/libwinpr/utils/stream.c:448,3'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/utils/stream.c:448,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/utils/stream.c:452,3'
          Dst:             winpr_log_backtrace_ex
    - functionName:    Stream_Read_UTF16_String_As_UTF8_Buffer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 496
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharNToUtf8
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_ConstPointer
        - Stream_Seek
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:497,21'
          Dst:             Stream_ConstPointer
        - Src:             'winpr/libwinpr/utils/stream.c:501,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/stream.c:504,2'
          Dst:             Stream_Seek
        - Src:             'winpr/libwinpr/utils/stream.c:505,9'
          Dst:             ConvertWCharNToUtf8
    - functionName:    Stream_ConstPointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1297
      functionLinenumberEnd: 1299
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1298,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Read_UTF16_String_As_UTF8
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 482
      functionLinenumberEnd: 492
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ConvertWCharNToUtf8Alloc
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_ConstPointer
        - Stream_Seek
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:483,21'
          Dst:             Stream_ConstPointer
        - Src:             'winpr/libwinpr/utils/stream.c:487,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/stream.c:490,2'
          Dst:             Stream_Seek
        - Src:             'winpr/libwinpr/utils/stream.c:491,9'
          Dst:             ConvertWCharNToUtf8Alloc
    - functionName:    Stream_Zero
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1241
      functionLinenumberEnd: 1243
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Fill
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1242,3'
          Dst:             Stream_Fill
    - functionName:    Stream_Pointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1291
      functionLinenumberEnd: 1293
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1292,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Write_UTF16_String_From_UTF8
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 460
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          92
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - ConvertUtf8NToWChar
        - Stream_CheckAndLogRequiredCapacityEx
        - Stream_Pointer
        - Stream_Seek
        - Stream_Zero
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:462,15'
          Dst:             Stream_Pointer
        - Src:             'winpr/libwinpr/utils/stream.c:466,8'
          Dst:             Stream_CheckAndLogRequiredCapacityEx
        - Src:             'winpr/libwinpr/utils/stream.c:469,8'
          Dst:             ConvertUtf8NToWChar
        - Src:             'winpr/libwinpr/utils/stream.c:473,3'
          Dst:             Stream_Seek
        - Src:             'winpr/libwinpr/utils/stream.c:477,3'
          Dst:             Stream_Zero
    - functionName:    Stream_CheckAndLogRequiredCapacityEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_CheckAndLogRequiredCapacityExVa
        - Stream_GetRemainingCapacity
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:310,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:311,24'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/libwinpr/utils/stream.c:319,7'
          Dst:             Stream_CheckAndLogRequiredCapacityExVa
    - functionName:    Stream_CheckAndLogRequiredCapacityExVa
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          70
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_CheckAndLogRequiredCapacityWLogExVa
        - Stream_GetRemainingCapacity
        - WLog_Get
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:329,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:330,24'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/libwinpr/utils/stream.c:333,53'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/utils/stream.c:333,10'
          Dst:             Stream_CheckAndLogRequiredCapacityWLogExVa
    - functionName:    Stream_CheckAndLogRequiredCapacityWLogExVa
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 361
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          95
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_GetRemainingCapacity
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - vsnprintf
        - winpr_int_assert
        - winpr_log_backtrace_ex
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:344,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:345,24'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/libwinpr/utils/stream.c:351,9'
          Dst:             vsnprintf
        - Src:             'winpr/libwinpr/utils/stream.c:353,3'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/utils/stream.c:353,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/utils/stream.c:357,3'
          Dst:             winpr_log_backtrace_ex
    - functionName:    Stream_CheckAndLogRequiredLengthWLogEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 417
      functionLinenumberEnd: 432
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogExVa
        - Stream_GetRemainingLength
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:418,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:419,24'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/stream.c:427,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogExVa
    - functionName:    Stream_CheckAndLogRequiredCapacityWLogEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 366
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_CheckAndLogRequiredCapacityWLogExVa
        - Stream_GetRemainingCapacity
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:368,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:369,24'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/libwinpr/utils/stream.c:377,7'
          Dst:             Stream_CheckAndLogRequiredCapacityWLogExVa
    - functionName:    stream_read_u16_le
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          64
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingLength
        - Stream_Seek
        - winpr_Data_Get_UINT16
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:198,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:199,3'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/include/winpr/stream.h:199,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:201,20'
          Dst:             winpr_Data_Get_UINT16
        - Src:             'winpr/include/winpr/stream.h:203,4'
          Dst:             Stream_Seek
    - functionName:    Stream_Read_UTF16_String
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          83
      EdgeCount:       26
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - stream_read_u16_le
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:295,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:296,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:298,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/stream.c:302,3'
          Dst:             stream_read_u16_le
    - functionName:    Stream_Write_UINT16_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 925
      functionLinenumberEnd: 932
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT16
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:926,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:927,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:928,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:928,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:930,3'
          Dst:             winpr_Data_Write_UINT16
    - functionName:    Stream_Write_UTF16_String
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          145
      EdgeCount:       49
      CyclomaticComplexity: 7
      functionsReached:
        - Stream_CheckAndLogRequiredCapacityEx
        - Stream_Write_UINT16_unchecked
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:279,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:280,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:284,7'
          Dst:             Stream_CheckAndLogRequiredCapacityEx
        - Src:             'winpr/libwinpr/utils/stream.c:288,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:288,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:288,3'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    Stream_SealLength
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          94
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
        - winpr_log_backtrace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:199,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:200,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:202,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:207,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:208,3'
          Dst:             winpr_log_backtrace
    - functionName:    Stream_SetLength
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Capacity
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:176,13'
          Dst:             Stream_Capacity
    - functionName:    Stream_Capacity
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1334
      functionLinenumberEnd: 1336
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1335,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          67
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - Stream_EnsureValidity
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:165,3'
          Dst:             Stream_EnsureValidity
    - functionName:    Stream_EnsureValidity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          91
      EdgeCount:       19
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - abort
        - winpr_log_backtrace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:153,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:153,2'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/utils/stream.c:153,2'
          Dst:             abort
        - Src:             'winpr/libwinpr/utils/stream.c:154,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:154,2'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/utils/stream.c:154,2'
          Dst:             abort
        - Src:             'winpr/libwinpr/utils/stream.c:157,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:157,2'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/utils/stream.c:157,2'
          Dst:             abort
        - Src:             'winpr/libwinpr/utils/stream.c:158,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:158,2'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/utils/stream.c:158,2'
          Dst:             abort
    - functionName:    Stream_StaticInit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:136,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:137,2'
          Dst:             winpr_int_assert
    - functionName:    Stream_StaticConstInit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_StaticInit
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:129,9'
          Dst:             Stream_StaticInit
    - functionName:    Stream_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          113
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:94,6'
          Dst:             calloc
    - functionName:    Stream_EnsureRemainingCapacity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Capacity
        - Stream_EnsureCapacity
        - Stream_GetPosition
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:82,6'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/stream.c:82,37'
          Dst:             Stream_Capacity
        - Src:             'winpr/libwinpr/utils/stream.c:83,35'
          Dst:             Stream_Capacity
        - Src:             'winpr/libwinpr/utils/stream.c:83,10'
          Dst:             Stream_EnsureCapacity
    - functionName:    Stream_GetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1342
      functionLinenumberEnd: 1345
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1343,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1344,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_EnsureCapacity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          139
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - Stream_GetPosition
        - Stream_SetPosition
        - realloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:46,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:53,26'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/stream.c:67,20'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/stream.c:77,9'
          Dst:             Stream_SetPosition
    - functionName:    Stream_SetPosition
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Capacity
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:187,13'
          Dst:             Stream_Capacity
    - functionName:    winpr_strerror
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __xpg_strerror_r
      functionUses:    33
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/debug.c:206,8'
          Dst:             __xpg_strerror_r
    - functionName:    __xpg_strerror_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_log_backtrace_ex
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          111
      EdgeCount:       32
      CyclomaticComplexity: 7
      functionsReached:
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - winpr_backtrace
        - winpr_backtrace_free
        - winpr_backtrace_symbols
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/debug.c:180,16'
          Dst:             winpr_backtrace
        - Src:             'winpr/libwinpr/utils/debug.c:184,3'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/utils/debug.c:184,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/utils/debug.c:188,8'
          Dst:             winpr_backtrace_symbols
        - Src:             'winpr/libwinpr/utils/debug.c:193,4'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/utils/debug.c:193,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/utils/debug.c:198,2'
          Dst:             winpr_backtrace_free
    - functionName:    winpr_backtrace
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_unwind_backtrace
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/debug.c:87,9'
          Dst:             winpr_unwind_backtrace
    - functionName:    winpr_backtrace_symbols
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_unwind_backtrace_symbols
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/debug.c:109,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/debug.c:114,9'
          Dst:             winpr_unwind_backtrace_symbols
    - functionName:    winpr_backtrace_free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_unwind_backtrace_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/debug.c:71,2'
          Dst:             winpr_unwind_backtrace_free
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    winpr_log_backtrace
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Get
        - winpr_log_backtrace_ex
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/debug.c:173,25'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/utils/debug.c:173,2'
          Dst:             winpr_log_backtrace_ex
    - functionName:    winpr_backtrace_symbols_fd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - strnlen
        - winpr_backtrace_symbols
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/debug.c:148,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/debug.c:157,18'
          Dst:             winpr_backtrace_symbols
        - Src:             'winpr/libwinpr/utils/debug.c:163,41'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/debug.c:163,10'
          Dst:             write
    - functionName:    init_app_details
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          45
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/winpr.c:53,7'
          Dst:             strncpy
        - Src:             'winpr/libwinpr/utils/winpr.c:56,7'
          Dst:             strncpy
    - functionName:    winpr_wcsndup
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          58
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/winpr.c:192,16'
          Dst:             calloc
    - functionName:    winpr_get_build_config
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_get_build_revision
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_get_version_string
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_get_version
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          49
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_areApplicationDetailsCustomized
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_getApplicationDetailsVersion
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - initializeApplicationDetails
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/winpr.c:145,7'
          Dst:             initializeApplicationDetails
    - functionName:    initializeApplicationDetails
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - init_app_details
        - winpr_InitOnceExecuteOnce
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/winpr.c:70,9'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'winpr/libwinpr/utils/winpr.c:70,9'
          Dst:             init_app_details
    - functionName:    winpr_getApplicatonDetailsCombined
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_asprintf
        - winpr_getApplicationDetailsProduct
        - winpr_getApplicationDetailsVendor
        - winpr_getApplicationDetailsVersion
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/winpr.c:125,26'
          Dst:             winpr_getApplicationDetailsVersion
        - Src:             'winpr/libwinpr/utils/winpr.c:126,23'
          Dst:             winpr_getApplicationDetailsVendor
        - Src:             'winpr/libwinpr/utils/winpr.c:127,24'
          Dst:             winpr_getApplicationDetailsProduct
        - Src:             'winpr/libwinpr/utils/winpr.c:133,9'
          Dst:             winpr_asprintf
        - Src:             'winpr/libwinpr/utils/winpr.c:137,9'
          Dst:             winpr_asprintf
    - functionName:    winpr_getApplicationDetailsVendor
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - initializeApplicationDetails
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/winpr.c:98,7'
          Dst:             initializeApplicationDetails
    - functionName:    winpr_getApplicationDetailsProduct
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - initializeApplicationDetails
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/winpr.c:105,7'
          Dst:             initializeApplicationDetails
    - functionName:    winpr_getApplicatonDetailsRegKey
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_asprintf
        - winpr_getApplicatonDetailsCombined
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/winpr.c:112,14'
          Dst:             winpr_getApplicatonDetailsCombined
        - Src:             'winpr/libwinpr/utils/winpr.c:118,8'
          Dst:             winpr_asprintf
    - functionName:    winpr_setApplicationDetails
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/winpr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          100
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - initializeApplicationDetails
        - strncpy
        - strnlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/winpr.c:75,7'
          Dst:             initializeApplicationDetails
        - Src:             'winpr/libwinpr/utils/winpr.c:80,22'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/winpr.c:81,22'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/utils/winpr.c:85,7'
          Dst:             strncpy
        - Src:             'winpr/libwinpr/utils/winpr.c:88,7'
          Dst:             strncpy
    - functionName:    unwind_reason_str
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/unwind/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          62
      EdgeCount:       22
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/unwind/debug.c:64,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    winpr_unwind_backtrace_symbols
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/unwind/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          145
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - dladdr
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:181,11'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:193,12'
          Dst:             dladdr
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:198,10'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:200,10'
          Dst:             snprintf
    - functionName:    dladdr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_unwind_backtrace_free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/unwind/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unwind_reason_str_buffer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/unwind/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - snprintf
        - unwind_reason_str
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:102,20'
          Dst:             unwind_reason_str
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:103,8'
          Dst:             snprintf
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    unwind_backtrace_callback
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/unwind/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - _Unwind_GetIP
        - _Unwind_GetLanguageSpecificData
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:111,2'
          Dst:             __assert_fail
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:116,17'
          Dst:             _Unwind_GetIP
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:122,38'
          Dst:             _Unwind_GetLanguageSpecificData
    - functionName:    _Unwind_GetIP
      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:    _Unwind_GetLanguageSpecificData
      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:    winpr_unwind_backtrace
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/unwind/debug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - _Unwind_Backtrace
        - calloc
        - unwind_backtrace_callback
        - unwind_reason_str_buffer
        - winpr_unwind_backtrace_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:131,26'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:135,14'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:139,7'
          Dst:             _Unwind_Backtrace
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:139,7'
          Dst:             unwind_backtrace_callback
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:148,3'
          Dst:             unwind_reason_str_buffer
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:148,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/unwind/debug.c:154,2'
          Dst:             winpr_unwind_backtrace_free
    - functionName:    _Unwind_Backtrace
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ArrayList_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 606
      functionLinenumberEnd: 614
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ArrayList_Clear
        - DeleteCriticalSection
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:610,2'
          Dst:             ArrayList_Clear
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:611,2'
          Dst:             DeleteCriticalSection
    - functionName:    ArrayList_Clear
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          86
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - ArrayList_Lock_Conditional
        - ArrayList_Unlock_Conditional
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:260,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:261,2'
          Dst:             ArrayList_Lock_Conditional
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:273,2'
          Dst:             ArrayList_Unlock_Conditional
    - functionName:    ArrayList_Lock_Conditional
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          42
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - EnterCriticalSection
        - winpr_int_assert
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:121,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:123,3'
          Dst:             EnterCriticalSection
    - functionName:    ArrayList_Unlock_Conditional
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          42
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - LeaveCriticalSection
        - winpr_int_assert
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:138,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:140,3'
          Dst:             LeaveCriticalSection
    - functionName:    ArrayList_DefaultCompare
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 525
      functionLinenumberEnd: 526
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ArrayList_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 577
      functionLinenumberEnd: 603
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          78
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - ArrayList_EnsureCapacity
        - ArrayList_Free
        - ArrayList_Object
        - InitializeCriticalSectionAndSpinCount
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:580,27'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:587,8'
          Dst:             ArrayList_Object
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:591,7'
          Dst:             ArrayList_EnsureCapacity
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:594,7'
          Dst:             InitializeCriticalSectionAndSpinCount
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:600,2'
          Dst:             ArrayList_Free
    - functionName:    ArrayList_Object
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 530
      functionLinenumberEnd: 532
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          30
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:531,2'
          Dst:             winpr_int_assert
    - functionName:    ArrayList_EnsureCapacity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          120
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - realloc
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:200,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:201,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:210,22'
          Dst:             realloc
    - functionName:    ArrayList_ForEachAP
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 569
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          103
      EdgeCount:       24
      CyclomaticComplexity: 4
      functionsReached:
        - ArrayList_Count
        - ArrayList_GetItem
        - ArrayList_Lock_Conditional
        - ArrayList_Unlock_Conditional
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:551,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:552,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:554,2'
          Dst:             ArrayList_Lock_Conditional
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:555,17'
          Dst:             ArrayList_Count
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:559,15'
          Dst:             ArrayList_GetItem
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:568,2'
          Dst:             ArrayList_Unlock_Conditional
    - functionName:    ArrayList_Count
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:70,2'
          Dst:             winpr_int_assert
    - functionName:    ArrayList_GetItem
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          52
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:157,2'
          Dst:             winpr_int_assert
    - functionName:    ArrayList_ForEach
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 543
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ArrayList_ForEachAP
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:540,7'
          Dst:             ArrayList_ForEachAP
    - functionName:    ArrayList_LastIndexOf
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 521
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          149
      EdgeCount:       36
      CyclomaticComplexity: 7
      functionsReached:
        - ArrayList_Lock_Conditional
        - ArrayList_Unlock_Conditional
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:492,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:493,2'
          Dst:             ArrayList_Lock_Conditional
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:502,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:519,2'
          Dst:             ArrayList_Unlock_Conditional
    - functionName:    ArrayList_IndexOf
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 435
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          142
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - ArrayList_Lock_Conditional
        - ArrayList_Unlock_Conditional
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:438,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:439,2'
          Dst:             ArrayList_Lock_Conditional
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:467,2'
          Dst:             ArrayList_Unlock_Conditional
    - functionName:    ArrayList_RemoveAt
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 418
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - ArrayList_Lock_Conditional
        - ArrayList_Shift
        - ArrayList_Unlock_Conditional
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:405,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:406,2'
          Dst:             ArrayList_Lock_Conditional
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:413,9'
          Dst:             ArrayList_Shift
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:416,2'
          Dst:             ArrayList_Unlock_Conditional
    - functionName:    ArrayList_Shift
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          203
      EdgeCount:       49
      CyclomaticComplexity: 9
      functionsReached:
        - ArrayList_EnsureCapacity
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:227,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:230,8'
          Dst:             ArrayList_EnsureCapacity
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:239,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:239,25'
          Dst:             winpr_int_assert
    - functionName:    ArrayList_Remove
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 394
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          120
      EdgeCount:       26
      CyclomaticComplexity: 6
      functionsReached:
        - ArrayList_Lock_Conditional
        - ArrayList_Shift
        - ArrayList_Unlock_Conditional
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:371,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:372,2'
          Dst:             ArrayList_Lock_Conditional
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:389,9'
          Dst:             ArrayList_Shift
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:392,2'
          Dst:             ArrayList_Unlock_Conditional
    - functionName:    ArrayList_Insert
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 339
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          68
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - ArrayList_Lock_Conditional
        - ArrayList_SetItem
        - ArrayList_Shift
        - ArrayList_Unlock_Conditional
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:342,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:343,2'
          Dst:             ArrayList_Lock_Conditional
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:347,8'
          Dst:             ArrayList_Shift
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:353,10'
          Dst:             ArrayList_SetItem
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:357,2'
          Dst:             ArrayList_Unlock_Conditional
    - functionName:    ArrayList_SetItem
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          104
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:172,2'
          Dst:             winpr_int_assert
    - functionName:    ArrayList_Append
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          60
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - ArrayList_EnsureCapacity
        - ArrayList_Lock_Conditional
        - ArrayList_SetItem
        - ArrayList_Unlock_Conditional
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:319,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:320,2'
          Dst:             ArrayList_Lock_Conditional
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:322,7'
          Dst:             ArrayList_EnsureCapacity
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:326,7'
          Dst:             ArrayList_SetItem
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:329,2'
          Dst:             ArrayList_Unlock_Conditional
    - functionName:    ArrayList_Contains
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 281
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          79
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - ArrayList_Lock_Conditional
        - ArrayList_Unlock_Conditional
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:284,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:285,2'
          Dst:             ArrayList_Lock_Conditional
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:295,2'
          Dst:             ArrayList_Unlock_Conditional
    - functionName:    ArrayList_Unlock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - LeaveCriticalSection
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:145,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:146,2'
          Dst:             LeaveCriticalSection
    - functionName:    ArrayList_Lock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - EnterCriticalSection
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:128,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:129,2'
          Dst:             EnterCriticalSection
    - functionName:    ArrayList_IsSynchronized
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:111,2'
          Dst:             winpr_int_assert
    - functionName:    ArrayList_IsReadOnly
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          28
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:101,2'
          Dst:             winpr_int_assert
    - functionName:    ArrayList_IsFixedSized
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          28
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:91,2'
          Dst:             winpr_int_assert
    - functionName:    ArrayList_Items
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          38
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:80,2'
          Dst:             winpr_int_assert
    - functionName:    ArrayList_Capacity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ArrayList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ArrayList.c:60,2'
          Dst:             winpr_int_assert
    - functionName:    WLog_PrintMessagePrefixVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - vsnprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:87,8'
          Dst:             vsnprintf
    - functionName:    log_invalid_fmt
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:118,8'
          Dst:             fprintf
    - functionName:    check_and_log_format_size
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fprintf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:127,9'
          Dst:             fprintf
    - functionName:    opt_compare_fn
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:142,9'
          Dst:             strncmp
    - functionName:    WLog_Layout_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 455
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WLog_Layout_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 452
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          114
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - GetEnvironmentVariableA
        - _strdup
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:408,24'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:413,10'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:425,7'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:441,7'
          Dst:             _strdup
    - functionName:    WLog_Layout_SetPrefixFormat
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:393,26'
          Dst:             _strdup
    - functionName:    WLog_GetLogLayout
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_GetLogAppender
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:381,13'
          Dst:             WLog_GetLogAppender
    - functionName:    WLog_PrintMessagePrefix
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_PrintMessagePrefixVA
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:96,2'
          Dst:             WLog_PrintMessagePrefixVA
    - functionName:    replace_format_string
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         88
      ICount:          415
      EdgeCount:       106
      CyclomaticComplexity: 20
      functionsReached:
        - WLog_GetGlobalPrefix
        - bsearch
        - check_and_log_format_size
        - log_invalid_fmt
        - opt_compare_fn
        - snprintf
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:184,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:185,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:188,23'
          Dst:             WLog_GetGlobalPrefix
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:191,19'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:200,7'
          Dst:             bsearch
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:200,7'
          Dst:             opt_compare_fn
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:218,20'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:223,36'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:223,36'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:222,10'
          Dst:             check_and_log_format_size
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:225,14'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:225,14'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:233,12'
          Dst:             log_invalid_fmt
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:235,9'
          Dst:             check_and_log_format_size
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:241,9'
          Dst:             check_and_log_format_size
    - functionName:    bsearch
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    skip_if_null
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         79
      ICount:          310
      EdgeCount:       89
      CyclomaticComplexity: 12
      functionsReached:
        - replace_format_string
        - strnlen
        - strstr
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:151,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:152,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:153,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:154,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:160,20'
          Dst:             strstr
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:163,14'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:163,14'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:168,28'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:168,28'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:173,7'
          Dst:             replace_format_string
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:177,17'
          Dst:             strnlen
    - functionName:    get_tid
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          43
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - snprintf
        - syscall
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:103,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:108,16'
          Dst:             syscall
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:112,8'
          Dst:             snprintf
    - functionName:    WLog_Layout_GetMessagePrefix
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Layout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          449
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - GetCurrentProcessId
        - GetLocalTime
        - WLog_PrintMessagePrefix
        - replace_format_string
        - winpr_int_assert
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:249,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:250,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:251,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:256,2'
          Dst:             GetLocalTime
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:341,12'
          Dst:             GetCurrentProcessId
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:365,7'
          Dst:             replace_format_string
        - Src:             'winpr/libwinpr/utils/wlog/Layout.c:371,2'
          Dst:             WLog_PrintMessagePrefix
    - functionName:    WLog_Message_GetOutputFileName
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/Message.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          90
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - GetCombinedPath
        - GetCurrentProcessId
        - GetKnownSubPath
        - winpr_PathFileExists
        - winpr_PathMakePath
        - winpr_asprintf
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/Message.c:33,19'
          Dst:             GetKnownSubPath
        - Src:             'winpr/libwinpr/utils/wlog/Message.c:40,7'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/utils/wlog/Message.c:42,8'
          Dst:             winpr_PathMakePath
        - Src:             'winpr/libwinpr/utils/wlog/Message.c:46,26'
          Dst:             GetCurrentProcessId
        - Src:             'winpr/libwinpr/utils/wlog/Message.c:48,3'
          Dst:             winpr_asprintf
        - Src:             'winpr/libwinpr/utils/wlog/Message.c:50,3'
          Dst:             winpr_asprintf
        - Src:             'winpr/libwinpr/utils/wlog/Message.c:52,17'
          Dst:             GetCombinedPath
    - functionName:    WLog_DataMessage_Write
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/DataMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - fclose
        - fwrite
        - winpr_fopen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/DataMessage.c:33,7'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/utils/wlog/DataMessage.c:38,6'
          Dst:             fwrite
        - Src:             'winpr/libwinpr/utils/wlog/DataMessage.c:40,8'
          Dst:             fclose
    - functionName:    WLog_ImageMessage_Write
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/ImageMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 30
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_bitmap_write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/ImageMessage.c:29,21'
          Dst:             winpr_bitmap_write
    - functionName:    winpr_Data_Write_UINT32_BE
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_Data_Write_UINT16_BE
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:267,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/endian.h:269,3'
          Dst:             winpr_Data_Write_UINT16_BE
        - Src:             'winpr/include/winpr/endian.h:270,3'
          Dst:             winpr_Data_Write_UINT16_BE
    - functionName:    winpr_Data_Write_UINT16_BE
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:244,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_UINT16
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:236,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_UINT8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:222,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Rewind
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          96
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:166,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:167,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:169,3'
          Dst:             winpr_int_assert
    - functionName:    IPv4Checksum
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Stream_Write_UINT32_BE_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1113
      functionLinenumberEnd: 1118
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT32_BE
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1114,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1114,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1116,3'
          Dst:             winpr_Data_Write_UINT32_BE
    - functionName:    Stream_Write_UINT16_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 925
      functionLinenumberEnd: 932
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT16
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:926,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:927,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:928,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:928,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:930,3'
          Dst:             winpr_Data_Write_UINT16
    - functionName:    Stream_Write_UINT8_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 873
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT8
        - winpr_int_assert
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:874,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:875,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:876,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:876,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:878,3'
          Dst:             winpr_Data_Write_UINT8
    - functionName:    Stream_Seek
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          51
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:158,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:159,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:159,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Write_UINT16_BE_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 951
      functionLinenumberEnd: 958
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT16_BE
        - winpr_int_assert
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:952,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:953,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:954,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:954,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:956,3'
          Dst:             winpr_Data_Write_UINT16_BE
    - functionName:    Stream_Write
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1187
      functionLinenumberEnd: 1196
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          77
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingCapacity
        - Stream_Seek
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1190,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1191,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1192,4'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1192,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1194,4'
          Dst:             Stream_Seek
    - functionName:    Pcap_Write_RecordContent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - fwrite
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:51,30'
          Dst:             fwrite
    - functionName:    WLog_PacketMessage_Write_TcpHeader
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         145
      ICount:          465
      EdgeCount:       151
      CyclomaticComplexity: 8
      functionsReached:
        - Stream_StaticInit
        - Stream_Write_UINT16_BE_unchecked
        - Stream_Write_UINT32_BE_unchecked
        - Stream_Write_UINT8_unchecked
        - fwrite
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:222,6'
          Dst:             Stream_StaticInit
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:225,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:225,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:225,2'
          Dst:             Stream_Write_UINT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:226,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:226,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:226,2'
          Dst:             Stream_Write_UINT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:227,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:227,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:227,2'
          Dst:             Stream_Write_UINT32_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:228,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:228,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:228,2'
          Dst:             Stream_Write_UINT32_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:229,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:229,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:229,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:230,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:230,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:230,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:231,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:231,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:231,2'
          Dst:             Stream_Write_UINT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:232,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:232,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:232,2'
          Dst:             Stream_Write_UINT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:233,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:233,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:233,2'
          Dst:             Stream_Write_UINT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:237,7'
          Dst:             fwrite
    - functionName:    WLog_PacketMessage_Write_IPv4Header
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         170
      ICount:          561
      EdgeCount:       175
      CyclomaticComplexity: 7
      functionsReached:
        - IPv4Checksum
        - Stream_Rewind
        - Stream_StaticInit
        - Stream_Write_UINT16_BE_unchecked
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_BE_unchecked
        - Stream_Write_UINT8_unchecked
        - fwrite
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:189,6'
          Dst:             Stream_StaticInit
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:192,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:192,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:192,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:193,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:193,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:193,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:194,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:194,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:194,2'
          Dst:             Stream_Write_UINT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:195,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:195,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:195,2'
          Dst:             Stream_Write_UINT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:196,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:196,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:196,2'
          Dst:             Stream_Write_UINT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:197,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:197,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:197,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:198,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:198,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:198,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:199,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:199,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:199,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:200,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:200,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:200,2'
          Dst:             Stream_Write_UINT32_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:201,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:201,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:201,2'
          Dst:             Stream_Write_UINT32_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:202,25'
          Dst:             IPv4Checksum
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:203,2'
          Dst:             Stream_Rewind
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:204,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:204,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:204,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:206,6'
          Dst:             fwrite
    - functionName:    WLog_PacketMessage_Write_EthernetHeader
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          130
      EdgeCount:       35
      CyclomaticComplexity: 7
      functionsReached:
        - Stream_StaticInit
        - Stream_Write
        - Stream_Write_UINT16_BE_unchecked
        - fwrite
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:146,6'
          Dst:             Stream_StaticInit
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:149,2'
          Dst:             Stream_Write
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:150,2'
          Dst:             Stream_Write
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:151,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:151,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:151,2'
          Dst:             Stream_Write_UINT16_BE_unchecked
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:152,6'
          Dst:             fwrite
    - functionName:    Pcap_Write_RecordHeader
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - fwrite
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:46,30'
          Dst:             fwrite
    - functionName:    WLog_PacketMessage_Write
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 360
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         110
      ICount:          579
      EdgeCount:       129
      CyclomaticComplexity: 21
      functionsReached:
        - Pcap_Write_RecordContent
        - Pcap_Write_RecordHeader
        - WLog_PacketMessage_Write_EthernetHeader
        - WLog_PacketMessage_Write_IPv4Header
        - WLog_PacketMessage_Write_TcpHeader
        - fflush
        - winpr_GetUnixTimeNS
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:322,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:323,31'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:323,31'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:330,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:331,30'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:331,30'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:343,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:344,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:344,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:349,14'
          Dst:             winpr_GetUnixTimeNS
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:353,7'
          Dst:             Pcap_Write_RecordHeader
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:354,7'
          Dst:             WLog_PacketMessage_Write_EthernetHeader
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:355,7'
          Dst:             WLog_PacketMessage_Write_IPv4Header
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:356,7'
          Dst:             WLog_PacketMessage_Write_TcpHeader
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:356,58'
          Dst:             Pcap_Write_RecordContent
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:358,8'
          Dst:             fflush
    - functionName:    Pcap_Write_Record
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Pcap_Write_RecordContent
        - Pcap_Write_RecordHeader
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:56,9'
          Dst:             Pcap_Write_RecordHeader
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:56,59'
          Dst:             Pcap_Write_RecordContent
    - functionName:    Pcap_Flush
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          67
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - Pcap_Write_Record
        - fflush
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:117,8'
          Dst:             Pcap_Write_Record
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:122,8'
          Dst:             fflush
    - functionName:    Pcap_Close
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Pcap_Flush
        - fclose
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:130,2'
          Dst:             Pcap_Flush
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:132,9'
          Dst:             fclose
    - functionName:    Pcap_Read_Header
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - fread
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:36,30'
          Dst:             fread
    - functionName:    _ftelli64
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wtypes.h'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ftello64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wtypes.h:504,9'
          Dst:             ftello64
    - functionName:    _fseeki64
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wtypes.h'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 498
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fseeko64
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wtypes.h:498,9'
          Dst:             fseeko64
    - functionName:    Pcap_Write_Header
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - fwrite
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:41,30'
          Dst:             fwrite
    - functionName:    Pcap_Open
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/wlog/PacketMessage.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          173
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - Pcap_Close
        - Pcap_Read_Header
        - Pcap_Write_Header
        - _fseeki64
        - _ftelli64
        - calloc
        - winpr_fopen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:64,24'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:69,13'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:87,8'
          Dst:             Pcap_Write_Header
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:92,7'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:94,30'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:97,7'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:99,8'
          Dst:             Pcap_Read_Header
        - Src:             'winpr/libwinpr/utils/wlog/PacketMessage.c:106,2'
          Dst:             Pcap_Close
    - functionName:    RemoveVectoredContinueHandler
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:111,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    AddVectoredContinueHandler
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:105,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RemoveVectoredExceptionHandler
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:98,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    AddVectoredExceptionHandler
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:92,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetUnhandledExceptionFilter
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:85,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    UnhandledExceptionFilter
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:77,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RaiseException
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:72,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RestoreLastError
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:64,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetLastError
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NtCurrentTeb
      functionUses:    248
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:55,12'
          Dst:             NtCurrentTeb
    - functionName:    GetLastError
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NtCurrentTeb
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:45,12'
          Dst:             NtCurrentTeb
    - functionName:    SetErrorMode
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:39,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetErrorMode
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/error/error.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/error/error.c:33,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    IsProcessorFeaturePresentEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1088
      functionLinenumberEnd: 1302
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         67
      ICount:          285
      EdgeCount:       77
      CyclomaticComplexity: 12
      functionsReached:
        - cpuid
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/sysinfo/sysinfo.c:1136,2'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/sysinfo/sysinfo.c:1198,5'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/sysinfo/sysinfo.c:1207,7'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:1134,2'
          Dst:             cpuid
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:1144,4'
          Dst:             cpuid
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:1206,7'
          Dst:             cpuid
    - functionName:    cpuid
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 692
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          43
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetTickCountPrecise
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1075
      functionLinenumberEnd: 1083
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetTickCount
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:1083,9'
          Dst:             GetTickCount
    - functionName:    GetTickCount
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_GetTickCount64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:336,16'
          Dst:             winpr_GetTickCount64
    - functionName:    winpr_GetTickCount64
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 576
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_GetTickCount64NS
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:577,20'
          Dst:             winpr_GetTickCount64NS
    - functionName:    winpr_GetTickCount64NS
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         48
      ICount:          167
      EdgeCount:       55
      CyclomaticComplexity: 9
      functionsReached:
        - clock_gettime
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:589,6'
          Dst:             clock_gettime
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:590,12'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:590,12'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:591,11'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:591,11'
          Dst:             winpr_int_assert
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsProcessorFeaturePresent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 791
      functionLinenumberEnd: 1069
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          176
      EdgeCount:       32
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - cpuid
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/sysinfo/sysinfo.c:981,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:979,2'
          Dst:             cpuid
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:1035,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    GetComputerNameExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 532
      functionLinenumberEnd: 560
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          105
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - ConvertUtf8NToWChar
        - GetComputerNameExA
        - SetLastError
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:538,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:544,15'
          Dst:             calloc
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:550,7'
          Dst:             GetComputerNameExA
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:554,23'
          Dst:             ConvertUtf8NToWChar
    - functionName:    GetComputerNameExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 529
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          168
      EdgeCount:       40
      CyclomaticComplexity: 9
      functionsReached:
        - GetComputerNameA
        - GetLastError
        - SetLastError
        - gethostname
        - strnlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/sysinfo/sysinfo.c:504,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:482,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:488,13'
          Dst:             GetComputerNameA
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:492,8'
          Dst:             GetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:493,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:499,6'
          Dst:             gethostname
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:502,11'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:515,5'
          Dst:             SetLastError
    - functionName:    GetComputerNameA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         40
      ICount:          185
      EdgeCount:       49
      CyclomaticComplexity: 11
      functionsReached:
        - SetLastError
        - gethostname
        - strchr
        - strncpy
        - strnlen
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:445,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:450,6'
          Dst:             gethostname
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:453,18'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:454,20'
          Dst:             strchr
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:457,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:457,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:464,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:469,2'
          Dst:             strncpy
    - functionName:    GetComputerNameW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 439
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          111
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - ConvertUtf8NToWChar
        - GetComputerNameA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:428,7'
          Dst:             GetComputerNameA
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:432,23'
          Dst:             ConvertUtf8NToWChar
    - functionName:    GetSystemTimeAdjustment
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 327
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:326,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetSystemTimeAsFileTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_GetUnixTimeNS
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:317,11'
          Dst:             winpr_GetUnixTimeNS
    - functionName:    winpr_GetUnixTimeNS
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 652
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         48
      ICount:          167
      EdgeCount:       55
      CyclomaticComplexity: 9
      functionsReached:
        - clock_gettime
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:642,6'
          Dst:             clock_gettime
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:644,9'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:644,9'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:645,9'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:645,9'
          Dst:             winpr_int_assert
    - functionName:    SetLocalTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:305,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetLocalTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          102
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - localtime_r
        - winpr_GetUnixTimeNS
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:283,15'
          Dst:             winpr_GetUnixTimeNS
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:286,8'
          Dst:             localtime_r
    - functionName:    localtime_r
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetSystemTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:273,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetSystemTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          102
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - gmtime_r
        - winpr_GetUnixTimeNS
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:251,15'
          Dst:             winpr_GetUnixTimeNS
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:254,8'
          Dst:             gmtime_r
    - functionName:    gmtime_r
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetNativeSystemInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetSystemInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:242,2'
          Dst:             GetSystemInfo
    - functionName:    GetSystemInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - GetNumberOfProcessors
        - GetProcessorArchitecture
        - GetSystemPageSize
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:231,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:235,6'
          Dst:             GetProcessorArchitecture
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:236,29'
          Dst:             GetSystemPageSize
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:237,39'
          Dst:             GetNumberOfProcessors
    - functionName:    GetProcessorArchitecture
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetSystemPageSize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          72
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - sysconf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:209,18'
          Dst:             sysconf
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:215,18'
          Dst:             sysconf
    - functionName:    GetNumberOfProcessors
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sysconf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:171,19'
          Dst:             sysconf
    - functionName:    SetHandleInformation
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/handle.c:83,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    GetHandleInformation
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/handle.c:76,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    DuplicateHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/../synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          73
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_Handle_GetInfo
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/handle.c:48,7'
          Dst:             winpr_Handle_GetInfo
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          76
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/handle.h:130,3'
          Dst:             SetLastError
    - functionName:    NoneHandleGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/nonehandle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NoneHandleIsHandle
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/nonehandle.c:43,7'
          Dst:             NoneHandleIsHandle
    - functionName:    NoneHandleIsHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/nonehandle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WINPR_HANDLE_IS_HANDLED
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/nonehandle.c:38,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    NoneHandleCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/nonehandle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 33
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateNoneHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/nonehandle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/nonehandle.c:73,48'
          Dst:             calloc
    - functionName:    apc_cleanupThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/apc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          128
      EdgeCount:       28
      CyclomaticComplexity: 5
      functionsReached:
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/apc.c:248,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:251,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:253,2'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/apc.c:269,2'
          Dst:             pthread_mutex_unlock
    - functionName:    pthread_mutex_unlock
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    apc_executeCompletions
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/apc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          244
      EdgeCount:       57
      CyclomaticComplexity: 12
      functionsReached:
        - apc_item_remove
        - pollset_isSignaled
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/apc.c:194,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:197,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:199,2'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/apc.c:205,46'
          Dst:             pollset_isSignaled
        - Src:             'winpr/libwinpr/thread/apc.c:230,4'
          Dst:             apc_item_remove
        - Src:             'winpr/libwinpr/thread/apc.c:237,2'
          Dst:             pthread_mutex_unlock
    - functionName:    apc_item_remove
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/apc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          98
      EdgeCount:       23
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/apc.c:97,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:98,2'
          Dst:             winpr_int_assert
    - functionName:    apc_collectFds
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/apc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          124
      EdgeCount:       34
      CyclomaticComplexity: 5
      functionsReached:
        - pollset_add
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/apc.c:162,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:163,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:166,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:169,2'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/apc.c:177,13'
          Dst:             pollset_add
        - Src:             'winpr/libwinpr/thread/apc.c:183,2'
          Dst:             pthread_mutex_unlock
    - functionName:    apc_remove
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/apc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          118
      EdgeCount:       29
      CyclomaticComplexity: 6
      functionsReached:
        - GetCurrentThreadId
        - WLog_Print_dbg_tag
        - apc_item_remove
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - winpr_GetCurrentThread
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/apc.c:115,25'
          Dst:             winpr_GetCurrentThread
        - Src:             'winpr/libwinpr/thread/apc.c:119,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:124,27'
          Dst:             GetCurrentThreadId
        - Src:             'winpr/libwinpr/thread/apc.c:126,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/apc.c:132,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/apc.c:137,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:139,2'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/apc.c:147,2'
          Dst:             apc_item_remove
        - Src:             'winpr/libwinpr/thread/apc.c:150,2'
          Dst:             pthread_mutex_unlock
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    apc_register
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/apc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          113
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - GetCurrentThreadId
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/apc.c:68,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:69,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:72,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:74,2'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/apc.c:90,25'
          Dst:             GetCurrentThreadId
        - Src:             'winpr/libwinpr/thread/apc.c:92,2'
          Dst:             pthread_mutex_unlock
    - functionName:    apc_uninit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/apc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_mutex_destroy
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/apc.c:59,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:60,9'
          Dst:             pthread_mutex_destroy
    - functionName:    pthread_mutex_destroy
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    apc_init
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/apc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          63
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
        - pthread_mutex_init
        - pthread_mutexattr_destroy
        - pthread_mutexattr_init
        - pthread_mutexattr_settype
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/apc.c:34,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/apc.c:36,2'
          Dst:             pthread_mutexattr_init
        - Src:             'winpr/libwinpr/thread/apc.c:37,6'
          Dst:             pthread_mutexattr_settype
        - Src:             'winpr/libwinpr/thread/apc.c:39,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/apc.c:45,6'
          Dst:             pthread_mutex_init
        - Src:             'winpr/libwinpr/thread/apc.c:47,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/apc.c:53,2'
          Dst:             pthread_mutexattr_destroy
    - functionName:    pthread_mutexattr_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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutexattr_settype
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutex_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutexattr_destroy
      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:    CommandLineToArgvW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/argv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/argv.c:281,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    CommandLineToArgvA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/argv.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         137
      ICount:          750
      EdgeCount:       170
      CyclomaticComplexity: 35
      functionsReached:
        - WLog_Print_dbg_tag
        - calloc
        - strcspn
        - strlen
        - strspn
        - strstr
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/argv.c:113,18'
          Dst:             strlen
        - Src:             'winpr/libwinpr/thread/argv.c:114,26'
          Dst:             calloc
        - Src:             'winpr/libwinpr/thread/argv.c:119,6'
          Dst:             strstr
        - Src:             'winpr/libwinpr/thread/argv.c:123,29'
          Dst:             calloc
        - Src:             'winpr/libwinpr/thread/argv.c:137,11'
          Dst:             strstr
        - Src:             'winpr/libwinpr/thread/argv.c:141,14'
          Dst:             strlen
        - Src:             'winpr/libwinpr/thread/argv.c:160,8'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/argv.c:160,8'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/argv.c:161,13'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/argv.c:161,13'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/argv.c:180,19'
          Dst:             strlen
        - Src:             'winpr/libwinpr/thread/argv.c:188,8'
          Dst:             strcspn
        - Src:             'winpr/libwinpr/thread/argv.c:189,8'
          Dst:             strspn
        - Src:             'winpr/libwinpr/thread/argv.c:194,11'
          Dst:             calloc
        - Src:             'winpr/libwinpr/thread/argv.c:213,9'
          Dst:             strcspn
        - Src:             'winpr/libwinpr/thread/argv.c:224,13'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/argv.c:224,13'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/argv.c:236,10'
          Dst:             strcspn
        - Src:             'winpr/libwinpr/thread/argv.c:245,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/argv.c:252,11'
          Dst:             strcspn
        - Src:             'winpr/libwinpr/thread/argv.c:268,8'
          Dst:             strspn
    - functionName:    strcspn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strspn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mux_condition_bundle_uninit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          38
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_cond_destroy
        - pthread_mutex_destroy
        - run_cond_fkt_
        - run_mutex_fkt_
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:235,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:237,2'
          Dst:             run_cond_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:237,2'
          Dst:             pthread_cond_destroy
        - Src:             'winpr/libwinpr/thread/thread.c:238,2'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:238,2'
          Dst:             pthread_mutex_destroy
    - functionName:    pthread_cond_destroy
      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:    run_cond_fkt_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          72
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
        - winpr_strerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:199,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:200,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:206,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:206,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    run_mutex_fkt_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          72
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
        - winpr_strerror
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:163,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:164,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:170,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:170,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    mux_condition_bundle_signal
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          76
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - pthread_cond_signal
        - pthread_mutex_checked_unlock
        - pthread_mutex_lock
        - run_cond_fkt_
        - run_mutex_fkt_
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:245,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:247,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:247,7'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/thread.c:250,7'
          Dst:             run_cond_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:250,7'
          Dst:             pthread_cond_signal
        - Src:             'winpr/libwinpr/thread/thread.c:252,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:252,7'
          Dst:             pthread_mutex_checked_unlock
    - functionName:    pthread_cond_signal
      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:    pthread_mutex_checked_unlock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          44
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_mutex_trylock
        - pthread_mutex_unlock
        - winpr_int_assert
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:213,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:214,2'
          Dst:             pthread_mutex_trylock
        - Src:             'winpr/libwinpr/thread/thread.c:214,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:215,9'
          Dst:             pthread_mutex_unlock
    - functionName:    pthread_mutex_trylock
      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:    signal_thread_ready
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - mux_condition_bundle_signal
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:307,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:309,9'
          Dst:             mux_condition_bundle_signal
    - functionName:    signal_and_wait_for_ready
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 498
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          81
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - mux_condition_bundle_lock
        - mux_condition_bundle_unlock
        - mux_condition_bundle_wait
        - signal_thread_ready
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:472,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:474,7'
          Dst:             mux_condition_bundle_lock
        - Src:             'winpr/libwinpr/thread/thread.c:477,7'
          Dst:             signal_thread_ready
        - Src:             'winpr/libwinpr/thread/thread.c:480,7'
          Dst:             mux_condition_bundle_wait
        - Src:             'winpr/libwinpr/thread/thread.c:494,7'
          Dst:             mux_condition_bundle_unlock
    - functionName:    mux_condition_bundle_lock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_mutex_lock
        - run_mutex_fkt_
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:259,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:260,9'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:260,9'
          Dst:             pthread_mutex_lock
    - functionName:    mux_condition_bundle_wait
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          122
      EdgeCount:       36
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - pthread_cond_wait
        - pthread_mutex_trylock
        - winpr_int_assert
        - winpr_strerror
      functionUses:    2
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/thread/thread.c:285,4'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:273,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:274,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:275,2'
          Dst:             pthread_mutex_trylock
        - Src:             'winpr/libwinpr/thread/thread.c:275,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:279,11'
          Dst:             pthread_cond_wait
        - Src:             'winpr/libwinpr/thread/thread.c:283,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:283,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    mux_condition_bundle_unlock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_mutex_checked_unlock
        - run_mutex_fkt_
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:265,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:266,9'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:266,9'
          Dst:             pthread_mutex_checked_unlock
    - functionName:    pthread_cond_wait
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    signal_thread_is_running
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - mux_condition_bundle_signal
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:314,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:316,9'
          Dst:             mux_condition_bundle_signal
    - functionName:    thread_launcher
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 504
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          136
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - TlsSetValue
        - WLog_Print_dbg_tag
        - apc_cleanupThread
        - cleanup_handle
        - pthread_self
        - set_event
        - signal_and_wait_for_ready
        - signal_thread_ready
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:511,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:515,7'
          Dst:             TlsSetValue
        - Src:             'winpr/libwinpr/thread/thread.c:517,3'
          Dst:             pthread_self
        - Src:             'winpr/libwinpr/thread/thread.c:517,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:530,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:534,7'
          Dst:             signal_and_wait_for_ready
        - Src:             'winpr/libwinpr/thread/thread.c:542,3'
          Dst:             apc_cleanupThread
        - Src:             'winpr/libwinpr/thread/thread.c:547,3'
          Dst:             set_event
        - Src:             'winpr/libwinpr/thread/thread.c:549,9'
          Dst:             signal_thread_ready
        - Src:             'winpr/libwinpr/thread/thread.c:552,4'
          Dst:             cleanup_handle
    - functionName:    pthread_self
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_event
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_event_set
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:412,9'
          Dst:             winpr_event_set
    - functionName:    cleanup_handle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 741
      functionLinenumberEnd: 768
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
        - apc_uninit
        - mux_condition_bundle_uninit
        - pthread_mutex_destroy
        - run_mutex_fkt_
        - winpr_event_uninit
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:746,7'
          Dst:             apc_uninit
        - Src:             'winpr/libwinpr/thread/thread.c:747,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:749,2'
          Dst:             mux_condition_bundle_uninit
        - Src:             'winpr/libwinpr/thread/thread.c:750,2'
          Dst:             mux_condition_bundle_uninit
        - Src:             'winpr/libwinpr/thread/thread.c:751,2'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:751,2'
          Dst:             pthread_mutex_destroy
        - Src:             'winpr/libwinpr/thread/thread.c:753,2'
          Dst:             winpr_event_uninit
    - functionName:    reset_event
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_event_reset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:417,9'
          Dst:             winpr_event_reset
    - functionName:    run_cond_init_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
        - winpr_strerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:181,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:182,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:188,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:188,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    dump_thread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          76
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/../handle/handle.h:130,3'
          Dst:             SetLastError
    - functionName:    ThreadCleanupHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          99
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - ThreadIsHandled
        - WLog_Print_dbg_tag
        - pthread_join
        - pthread_mutex_checked_unlock
        - pthread_mutex_lock
        - run_mutex_fkt_
        - winpr_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:324,7'
          Dst:             ThreadIsHandled
        - Src:             'winpr/libwinpr/thread/thread.c:327,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:327,7'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/thread.c:332,12'
          Dst:             pthread_join
        - Src:             'winpr/libwinpr/thread/thread.c:337,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:337,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:348,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:348,7'
          Dst:             pthread_mutex_checked_unlock
    - functionName:    ThreadIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WINPR_HANDLE_IS_HANDLED
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:125,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    pthread_join
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ThreadGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ThreadIsHandled
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:132,7'
          Dst:             ThreadIsHandled
    - functionName:    ThreadCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 771
      functionLinenumberEnd: 807
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
        - WaitForSingleObject
        - cleanup_handle
        - dump_thread
        - pthread_detach
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:789,3'
          Dst:             dump_thread
        - Src:             'winpr/libwinpr/thread/thread.c:791,29'
          Dst:             WaitForSingleObject
        - Src:             'winpr/libwinpr/thread/thread.c:793,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:795,4'
          Dst:             pthread_detach
        - Src:             'winpr/libwinpr/thread/thread.c:799,4'
          Dst:             cleanup_handle
    - functionName:    pthread_detach
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    DumpThreadHandles
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1057
      functionLinenumberEnd: 1122
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TerminateThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1028
      functionLinenumberEnd: 1054
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          86
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - pthread_cancel
        - pthread_mutex_checked_unlock
        - pthread_mutex_lock
        - run_mutex_fkt_
        - set_event
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:1033,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/thread/thread.c:1040,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:1040,7'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/thread.c:1044,2'
          Dst:             pthread_cancel
        - Src:             'winpr/libwinpr/thread/thread.c:1049,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:1049,7'
          Dst:             pthread_mutex_checked_unlock
        - Src:             'winpr/libwinpr/thread/thread.c:1052,2'
          Dst:             set_event
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_cancel
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SwitchToThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1016
      functionLinenumberEnd: 1024
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sched_yield
        - usleep
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:1021,6'
          Dst:             sched_yield
        - Src:             'winpr/libwinpr/thread/thread.c:1022,3'
          Dst:             usleep
    - functionName:    sched_yield
      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:    SuspendThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1009
      functionLinenumberEnd: 1012
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:1010,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:1011,2'
          Dst:             SetLastError
    - functionName:    ResumeThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 974
      functionLinenumberEnd: 1006
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          101
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - pthread_mutex_checked_unlock
        - pthread_mutex_lock
        - run_mutex_fkt_
        - winpr_Handle_GetInfo
        - winpr_StartThread
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:979,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/thread/thread.c:981,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:982,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/thread/thread.c:988,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:988,7'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/thread.c:993,8'
          Dst:             winpr_StartThread
        - Src:             'winpr/libwinpr/thread/thread.c:995,4'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:995,4'
          Dst:             pthread_mutex_checked_unlock
        - Src:             'winpr/libwinpr/thread/thread.c:1000,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:1002,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:1002,7'
          Dst:             pthread_mutex_checked_unlock
    - functionName:    winpr_StartThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 559
      functionLinenumberEnd: 615
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          147
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - WLog_Print_dbg_tag
        - dump_thread
        - mux_condition_bundle_lock
        - mux_condition_bundle_unlock
        - mux_condition_bundle_wait
        - pthread_attr_destroy
        - pthread_attr_init
        - pthread_attr_setdetachstate
        - pthread_attr_setstacksize
        - pthread_create
        - reset_event
        - signal_thread_is_running
        - thread_launcher
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:564,7'
          Dst:             mux_condition_bundle_lock
        - Src:             'winpr/libwinpr/thread/thread.c:568,2'
          Dst:             pthread_attr_init
        - Src:             'winpr/libwinpr/thread/thread.c:569,2'
          Dst:             pthread_attr_setdetachstate
        - Src:             'winpr/libwinpr/thread/thread.c:572,3'
          Dst:             pthread_attr_setstacksize
        - Src:             'winpr/libwinpr/thread/thread.c:575,2'
          Dst:             reset_event
        - Src:             'winpr/libwinpr/thread/thread.c:585,6'
          Dst:             pthread_create
        - Src:             'winpr/libwinpr/thread/thread.c:585,6'
          Dst:             thread_launcher
        - Src:             'winpr/libwinpr/thread/thread.c:588,7'
          Dst:             mux_condition_bundle_wait
        - Src:             'winpr/libwinpr/thread/thread.c:592,7'
          Dst:             mux_condition_bundle_unlock
        - Src:             'winpr/libwinpr/thread/thread.c:595,7'
          Dst:             signal_thread_is_running
        - Src:             'winpr/libwinpr/thread/thread.c:597,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:605,8'
          Dst:             mux_condition_bundle_unlock
        - Src:             'winpr/libwinpr/thread/thread.c:609,2'
          Dst:             pthread_attr_destroy
        - Src:             'winpr/libwinpr/thread/thread.c:612,3'
          Dst:             dump_thread
    - functionName:    pthread_attr_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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_attr_setdetachstate
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_attr_setstacksize
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_attr_destroy
      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:    userAPC
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 929
      functionLinenumberEnd: 935
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    QueueUserAPC
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 938
      functionLinenumberEnd: 971
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          104
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - apc_register
        - calloc
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:947,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/thread/thread.c:949,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:950,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/thread/thread.c:954,12'
          Dst:             calloc
        - Src:             'winpr/libwinpr/thread/thread.c:957,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/thread/thread.c:969,2'
          Dst:             apc_register
    - functionName:    GetCurrentThreadId
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 907
      functionLinenumberEnd: 911
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - syscall
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:911,9'
          Dst:             syscall
    - functionName:    _GetCurrentThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 902
      functionLinenumberEnd: 903
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_GetCurrentThread
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:903,17'
          Dst:             winpr_GetCurrentThread
    - functionName:    winpr_GetCurrentThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 889
      functionLinenumberEnd: 899
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          43
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - TlsGetValue
        - initializeThreads
        - pthread_self
        - winpr_InitOnceExecuteOnce
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:892,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'winpr/libwinpr/thread/thread.c:892,7'
          Dst:             initializeThreads
        - Src:             'winpr/libwinpr/thread/thread.c:894,22'
          Dst:             pthread_self
        - Src:             'winpr/libwinpr/thread/thread.c:897,8'
          Dst:             TlsGetValue
    - functionName:    initializeThreads
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 436
      functionLinenumberEnd: 465
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TlsAlloc
        - WLog_Print_dbg_tag
        - apc_init
        - pthread_self
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:437,7'
          Dst:             apc_init
        - Src:             'winpr/libwinpr/thread/thread.c:439,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:444,17'
          Dst:             pthread_self
        - Src:             'winpr/libwinpr/thread/thread.c:446,26'
          Dst:             TlsAlloc
        - Src:             'winpr/libwinpr/thread/thread.c:449,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetExitCodeThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 871
      functionLinenumberEnd: 886
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
        - winpr_Handle_GetInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:876,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/thread/thread.c:878,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:879,3'
          Dst:             SetLastError
    - functionName:    ExitThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 824
      functionLinenumberEnd: 868
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateRemoteThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 817
      functionLinenumberEnd: 820
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:818,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:819,2'
          Dst:             SetLastError
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mux_condition_bundle_init
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          57
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - pthread_cond_init
        - pthread_mutex_init
        - run_cond_init_
        - run_mutex_init_
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:220,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:223,7'
          Dst:             run_mutex_init_
        - Src:             'winpr/libwinpr/thread/thread.c:223,7'
          Dst:             pthread_mutex_init
        - Src:             'winpr/libwinpr/thread/thread.c:226,7'
          Dst:             run_cond_init_
        - Src:             'winpr/libwinpr/thread/thread.c:226,7'
          Dst:             pthread_cond_init
    - functionName:    run_mutex_init_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
        - winpr_strerror
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:145,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:146,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:152,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:152,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    pthread_cond_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 677
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          161
      EdgeCount:       36
      CyclomaticComplexity: 12
      functionsReached:
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - WLog_Print_dbg_tag
        - apc_init
        - calloc
        - cleanup_handle
        - initializeThreads
        - mux_condition_bundle_init
        - pthread_mutex_init
        - run_mutex_init_
        - set_event
        - winpr_InitOnceExecuteOnce
        - winpr_StartThread
        - winpr_event_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:679,40'
          Dst:             calloc
        - Src:             'winpr/libwinpr/thread/thread.c:694,7'
          Dst:             winpr_event_init
        - Src:             'winpr/libwinpr/thread/thread.c:696,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:700,7'
          Dst:             run_mutex_init_
        - Src:             'winpr/libwinpr/thread/thread.c:700,7'
          Dst:             pthread_mutex_init
        - Src:             'winpr/libwinpr/thread/thread.c:702,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:706,7'
          Dst:             apc_init
        - Src:             'winpr/libwinpr/thread/thread.c:708,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:712,7'
          Dst:             mux_condition_bundle_init
        - Src:             'winpr/libwinpr/thread/thread.c:714,7'
          Dst:             mux_condition_bundle_init
        - Src:             'winpr/libwinpr/thread/thread.c:717,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/thread/thread.c:720,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'winpr/libwinpr/thread/thread.c:720,7'
          Dst:             initializeThreads
        - Src:             'winpr/libwinpr/thread/thread.c:725,8'
          Dst:             winpr_StartThread
        - Src:             'winpr/libwinpr/thread/thread.c:730,8'
          Dst:             set_event
        - Src:             'winpr/libwinpr/thread/thread.c:736,2'
          Dst:             cleanup_handle
    - functionName:    SetThreadPriority
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 672
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          135
      EdgeCount:       24
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
        - pthread_setschedprio
        - winpr_Handle_GetInfo
        - winpr_strerror
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/thread/thread.c:632,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:622,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/thread/thread.c:659,17'
          Dst:             pthread_setschedprio
        - Src:             'winpr/libwinpr/thread/thread.c:663,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:663,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    pthread_setschedprio
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TlsFree
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_key_delete
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/tls.c:64,2'
          Dst:             pthread_key_delete
    - functionName:    pthread_key_delete
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TlsSetValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_setspecific
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/tls.c:57,2'
          Dst:             pthread_setspecific
    - functionName:    pthread_setspecific
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TlsGetValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_getspecific
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/tls.c:51,17'
          Dst:             pthread_getspecific
    - functionName:    pthread_getspecific
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TlsAlloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         29
      ICount:          105
      EdgeCount:       34
      CyclomaticComplexity: 7
      functionsReached:
        - pthread_key_create
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/tls.c:41,6'
          Dst:             pthread_key_create
        - Src:             'winpr/libwinpr/thread/tls.c:45,9'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/tls.c:45,9'
          Dst:             winpr_int_assert
    - functionName:    pthread_key_create
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    wmemmove_s
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    memmove_s
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/buffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sTebDestruct
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/nt/nt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FSInformationClass2Tag
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/nt/nt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         43
      ICount:          217
      EdgeCount:       84
      CyclomaticComplexity: 43
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/nt/nt.c:68,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    sTebInitOnce
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/nt/nt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_key_create
        - sTebDestruct
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/nt/nt.c:46,2'
          Dst:             pthread_key_create
        - Src:             'winpr/libwinpr/nt/nt.c:46,2'
          Dst:             sTebDestruct
    - functionName:    NtCurrentTeb
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/nt/nt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          49
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - pthread_getspecific
        - pthread_once
        - pthread_setspecific
        - sTebInitOnce
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/nt/nt.c:53,6'
          Dst:             pthread_once
        - Src:             'winpr/libwinpr/nt/nt.c:53,6'
          Dst:             sTebInitOnce
        - Src:             'winpr/libwinpr/nt/nt.c:55,14'
          Dst:             pthread_getspecific
        - Src:             'winpr/libwinpr/nt/nt.c:57,10'
          Dst:             calloc
        - Src:             'winpr/libwinpr/nt/nt.c:59,5'
          Dst:             pthread_setspecific
    - functionName:    Win32ErrorCode2Tag
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/nt/ntstatus.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4642
      functionLinenumberEnd: 4662
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - bsearch
        - ntstatus_compare
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/nt/ntstatus.c:4648,6'
          Dst:             bsearch
        - Src:             'winpr/libwinpr/nt/ntstatus.c:4648,6'
          Dst:             ntstatus_compare
    - functionName:    ntstatus_compare
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/nt/ntstatus.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4610
      functionLinenumberEnd: 4616
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          43
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NtStatus2Tag
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/nt/ntstatus.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4619
      functionLinenumberEnd: 4639
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - bsearch
        - ntstatus_compare
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/nt/ntstatus.c:4625,6'
          Dst:             bsearch
        - Src:             'winpr/libwinpr/nt/ntstatus.c:4625,6'
          Dst:             ntstatus_compare
    - functionName:    pollset_isWriteSignaled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/pollset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/pollset.c:275,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/pollset.c:279,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    pollset_isReadSignaled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/pollset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          65
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/pollset.c:254,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/pollset.c:258,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    pollset_isSignaled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/pollset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          73
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/pollset.c:227,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/pollset.c:231,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    pollset_poll
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/pollset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         45
      ICount:          189
      EdgeCount:       53
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - poll
        - winpr_GetTickCount64
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/pollset.c:126,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/pollset.c:131,8'
          Dst:             winpr_GetTickCount64
        - Src:             'winpr/libwinpr/synch/pollset.c:147,28'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/pollset.c:147,28'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/pollset.c:147,9'
          Dst:             poll
        - Src:             'winpr/libwinpr/synch/pollset.c:167,7'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/synch/pollset.c:170,9'
          Dst:             winpr_GetTickCount64
    - functionName:    poll
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    handle_mode_to_pollevent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/pollset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 27
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          45
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pollset_add
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/pollset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          77
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - handle_mode_to_pollevent
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/pollset.c:90,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/pollset.c:99,17'
          Dst:             handle_mode_to_pollevent
    - functionName:    pollset_reset
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/pollset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/pollset.c:78,2'
          Dst:             winpr_int_assert
    - functionName:    pollset_uninit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/pollset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          43
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/pollset.c:67,2'
          Dst:             winpr_int_assert
    - functionName:    pollset_init
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/pollset.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/pollset.c:33,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/synch/pollset.c:38,18'
          Dst:             calloc
    - functionName:    CommWriteFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 567
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         88
      ICount:          523
      EdgeCount:       105
      CyclomaticComplexity: 19
      functionsReached:
        - CommIsHandled
        - CommLog_PrintEx
        - EnterCriticalSection
        - LeaveCriticalSection
        - SetLastError
        - __errno_location
        - eventfd_read
        - select
        - tcdrain
        - winpr_int_assert
        - winpr_strerror
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_io.c:378,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_io.c:380,7'
          Dst:             CommIsHandled
        - Src:             'winpr/libwinpr/comm/comm_io.c:385,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:391,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:410,9'
          Dst:             eventfd_read
        - Src:             'winpr/libwinpr/comm/comm_io.c:452,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:453,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:456,11'
          Dst:             select
        - Src:             'winpr/libwinpr/comm/comm_io.c:461,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:461,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:461,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_io.c:461,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_io.c:463,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:470,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:481,8'
          Dst:             eventfd_read
        - Src:             'winpr/libwinpr/comm/comm_io.c:483,9'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:485,6'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:491,6'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:491,6'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:491,6'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_io.c:491,6'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_io.c:497,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:497,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:502,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:506,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:516,16'
          Dst:             write
        - Src:             'winpr/libwinpr/comm/comm_io.c:522,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:522,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:522,5'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_io.c:522,5'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_io.c:528,9'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:533,14'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:535,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:540,6'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:541,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:558,2'
          Dst:             tcdrain
        - Src:             'winpr/libwinpr/comm/comm_io.c:561,2'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_io.c:565,2'
          Dst:             LeaveCriticalSection
    - functionName:    tcdrain
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    svtime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          43
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CommReadFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         182
      ICount:          951
      EdgeCount:       224
      CyclomaticComplexity: 44
      functionsReached:
        - CommIsHandled
        - CommLog_PrintEx
        - EnterCriticalSection
        - LeaveCriticalSection
        - SetLastError
        - __errno_location
        - eventfd_read
        - memchr
        - read
        - select
        - svtime
        - tcgetattr
        - tcsetattr
        - winpr_int_assert
        - winpr_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_io.c:82,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_io.c:84,7'
          Dst:             CommIsHandled
        - Src:             'winpr/libwinpr/comm/comm_io.c:89,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:95,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:107,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm_io.c:109,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:115,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_io.c:116,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:144,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_io.c:147,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:173,11'
          Dst:             svtime
        - Src:             'winpr/libwinpr/comm/comm_io.c:202,7'
          Dst:             tcsetattr
        - Src:             'winpr/libwinpr/comm/comm_io.c:204,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_io.c:208,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:232,9'
          Dst:             eventfd_read
        - Src:             'winpr/libwinpr/comm/comm_io.c:241,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:242,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:245,10'
          Dst:             select
        - Src:             'winpr/libwinpr/comm/comm_io.c:250,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:250,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:250,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_io.c:250,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_io.c:252,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:259,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:270,7'
          Dst:             eventfd_read
        - Src:             'winpr/libwinpr/comm/comm_io.c:272,8'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:274,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:280,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:280,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:280,5'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_io.c:280,5'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_io.c:286,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:286,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:291,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:295,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:301,20'
          Dst:             read
        - Src:             'winpr/libwinpr/comm/comm_io.c:306,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_io.c:313,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:313,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:313,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm_io.c:313,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm_io.c:317,8'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:322,13'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm_io.c:324,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:329,5'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:330,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:338,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm_io.c:342,26'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:342,26'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:344,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_io.c:348,43'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:348,43'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:348,8'
          Dst:             memchr
        - Src:             'winpr/libwinpr/comm/comm_io.c:351,3'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_io.c:355,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm_io.c:358,2'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm_io.c:361,2'
          Dst:             LeaveCriticalSection
    - functionName:    memchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _comm_set_permissive
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm_io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CommIsHandled
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm_io.c:37,7'
          Dst:             CommIsHandled
    - functionName:    compare_byte_relaxed
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1244
      functionLinenumberEnd: 1260
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - char
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          58
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Stream_Read
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          80
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingCapacity
        - Stream_Seek
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:733,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:734,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:735,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:735,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:737,3'
          Dst:             Stream_Seek
    - functionName:    Stream_Seek
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          51
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_int_assert
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:158,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:159,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:159,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Write
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1187
      functionLinenumberEnd: 1196
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          77
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingCapacity
        - Stream_Seek
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1190,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1191,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1192,4'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1192,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1194,4'
          Dst:             Stream_Seek
    - functionName:    Stream_Fill
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1233
      functionLinenumberEnd: 1238
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          57
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - Stream_Seek
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1234,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1235,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1235,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1237,3'
          Dst:             Stream_Seek
    - functionName:    winpr_Data_Get_INT32
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_Data_Get_UINT32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:149,22'
          Dst:             winpr_Data_Get_UINT32
    - functionName:    winpr_Data_Get_UINT32
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:114,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_INT32
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_Data_Write_UINT16
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:342,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/endian.h:344,3'
          Dst:             winpr_Data_Write_UINT16
        - Src:             'winpr/include/winpr/endian.h:345,3'
          Dst:             winpr_Data_Write_UINT16
    - functionName:    winpr_Data_Write_UINT16
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:236,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Get_UINT16
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:60,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Get_UINT8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:40,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_Data_Write_UINT32
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_Data_Write_UINT16
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:259,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/endian.h:261,3'
          Dst:             winpr_Data_Write_UINT16
        - Src:             'winpr/include/winpr/endian.h:262,3'
          Dst:             winpr_Data_Write_UINT16
    - functionName:    winpr_Data_Write_UINT8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/endian.h'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:222,3'
          Dst:             winpr_int_assert
    - functionName:    winpr_convert_to_png
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1118
      functionLinenumberEnd: 1155
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          67
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:1119,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1120,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1154,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WLog_Print_dbg_tag
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wlog.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessageVA
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wlog.h:326,21'
          Dst:             WLog_Get
        - Src:             'winpr/include/winpr/wlog.h:328,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/include/winpr/wlog.h:332,4'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    winpr_convert_to_jpeg
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 687
      functionLinenumberEnd: 695
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          67
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:688,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:689,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:694,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_convert_to_webp
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 824
      functionLinenumberEnd: 832
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          67
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:825,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:826,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:831,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_image_format_extension
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1347
      functionLinenumberEnd: 1361
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          37
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/image.c:1348,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    winpr_image_format_mime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1330
      functionLinenumberEnd: 1344
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          37
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/image.c:1331,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    compare_pixel
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1263
      functionLinenumberEnd: 1279
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          130
      EdgeCount:       32
      CyclomaticComplexity: 7
      functionsReached:
        - compare_byte_relaxed
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:1264,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1265,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1267,7'
          Dst:             compare_byte_relaxed
        - Src:             'winpr/libwinpr/utils/image.c:1269,7'
          Dst:             compare_byte_relaxed
        - Src:             'winpr/libwinpr/utils/image.c:1271,7'
          Dst:             compare_byte_relaxed
        - Src:             'winpr/libwinpr/utils/image.c:1275,8'
          Dst:             compare_byte_relaxed
    - functionName:    convert
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1203
      functionLinenumberEnd: 1241
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          216
      EdgeCount:       37
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:1204,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1205,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1212,15'
          Dst:             calloc
    - functionName:    winpr_image_equal
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1282
      functionLinenumberEnd: 1327
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          244
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - compare_pixel
        - convert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:1304,16'
          Dst:             convert
        - Src:             'winpr/libwinpr/utils/image.c:1305,16'
          Dst:             convert
        - Src:             'winpr/libwinpr/utils/image.c:1319,10'
          Dst:             compare_pixel
    - functionName:    winpr_image_format_is_supported
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1183
      functionLinenumberEnd: 1200
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          22
      EdgeCount:       6
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/image.c:1184,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    winpr_image_free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 673
      functionLinenumberEnd: 681
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          41
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_image_new
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 663
      functionLinenumberEnd: 670
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:664,27'
          Dst:             calloc
    - functionName:    winpr_convert_from_png
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1164
      functionLinenumberEnd: 1178
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:1177,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_convert_from_jpeg
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 760
      functionLinenumberEnd: 769
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          99
      EdgeCount:       37
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:761,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:762,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:763,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:764,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:765,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:768,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_convert_from_webp
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          107
      EdgeCount:       37
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:868,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:869,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:870,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:871,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:872,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:879,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_image_bitmap_read_buffer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 436
      functionLinenumberEnd: 569
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         100
      ICount:          617
      EdgeCount:       126
      CyclomaticComplexity: 28
      functionsReached:
        - Stream_CheckAndLogRequiredCapacityEx
        - Stream_GetPosition
        - Stream_Read
        - Stream_StaticConstInit
        - WLog_Print_dbg_tag
        - readBitmapFileHeader
        - readBitmapInfoHeader
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:442,15'
          Dst:             Stream_StaticConstInit
        - Src:             'winpr/libwinpr/utils/image.c:448,7'
          Dst:             readBitmapFileHeader
        - Src:             'winpr/libwinpr/utils/image.c:448,40'
          Dst:             readBitmapInfoHeader
        - Src:             'winpr/libwinpr/utils/image.c:453,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:460,22'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/image.c:464,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:470,7'
          Dst:             Stream_CheckAndLogRequiredCapacityEx
        - Src:             'winpr/libwinpr/utils/image.c:475,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:494,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:501,26'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:501,26'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:503,21'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:503,21'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:510,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:541,7'
          Dst:             Stream_Read
        - Src:             'winpr/libwinpr/utils/image.c:551,7'
          Dst:             Stream_Read
    - functionName:    readBitmapFileHeader
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         47
      ICount:          205
      EdgeCount:       56
      CyclomaticComplexity: 11
      functionsReached:
        - Stream_CheckAndLogRequiredCapacityWLogEx
        - Stream_CheckAndLogRequiredLengthWLogEx
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - stream_read_u16_le
        - stream_read_u32_le
        - stream_read_u8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:82,9'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/utils/image.c:85,8'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'winpr/libwinpr/utils/image.c:88,2'
          Dst:             stream_read_u8
        - Src:             'winpr/libwinpr/utils/image.c:89,2'
          Dst:             stream_read_u8
        - Src:             'winpr/libwinpr/utils/image.c:90,2'
          Dst:             stream_read_u32_le
        - Src:             'winpr/libwinpr/utils/image.c:91,2'
          Dst:             stream_read_u16_le
        - Src:             'winpr/libwinpr/utils/image.c:92,2'
          Dst:             stream_read_u16_le
        - Src:             'winpr/libwinpr/utils/image.c:93,2'
          Dst:             stream_read_u32_le
        - Src:             'winpr/libwinpr/utils/image.c:97,3'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/utils/image.c:97,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/utils/image.c:104,3'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/utils/image.c:104,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/utils/image.c:108,9'
          Dst:             Stream_CheckAndLogRequiredCapacityWLogEx
    - functionName:    readBitmapInfoHeader
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         145
      ICount:          636
      EdgeCount:       169
      CyclomaticComplexity: 26
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_GetPosition
        - Stream_SafeSeekEx
        - WLog_Print_dbg_tag
        - stream_read_i32_le
        - stream_read_u16_le
        - stream_read_u32_le
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/image.c:163,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:133,21'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/image.c:136,23'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/image.c:137,2'
          Dst:             stream_read_u32_le
        - Src:             'winpr/libwinpr/utils/image.c:138,2'
          Dst:             stream_read_i32_le
        - Src:             'winpr/libwinpr/utils/image.c:139,2'
          Dst:             stream_read_i32_le
        - Src:             'winpr/libwinpr/utils/image.c:140,2'
          Dst:             stream_read_u16_le
        - Src:             'winpr/libwinpr/utils/image.c:141,2'
          Dst:             stream_read_u16_le
        - Src:             'winpr/libwinpr/utils/image.c:142,2'
          Dst:             stream_read_u32_le
        - Src:             'winpr/libwinpr/utils/image.c:143,2'
          Dst:             stream_read_u32_le
        - Src:             'winpr/libwinpr/utils/image.c:144,2'
          Dst:             stream_read_i32_le
        - Src:             'winpr/libwinpr/utils/image.c:145,2'
          Dst:             stream_read_i32_le
        - Src:             'winpr/libwinpr/utils/image.c:146,2'
          Dst:             stream_read_u32_le
        - Src:             'winpr/libwinpr/utils/image.c:147,2'
          Dst:             stream_read_u32_le
        - Src:             'winpr/libwinpr/utils/image.c:151,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:157,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:176,9'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:176,9'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:180,6'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:184,27'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:184,27'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:185,26'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:185,26'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:188,6'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:191,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:191,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:198,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:204,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:208,21'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/image.c:211,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:216,9'
          Dst:             Stream_SafeSeekEx
    - functionName:    Stream_GetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1342
      functionLinenumberEnd: 1345
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1343,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1344,3'
          Dst:             winpr_int_assert
    - functionName:    stream_read_u32_le
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          64
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingLength
        - Stream_Seek
        - winpr_Data_Get_UINT32
        - winpr_int_assert
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:246,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:247,3'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/include/winpr/stream.h:247,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:249,20'
          Dst:             winpr_Data_Get_UINT32
        - Src:             'winpr/include/winpr/stream.h:251,4'
          Dst:             Stream_Seek
    - functionName:    stream_read_i32_le
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          64
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingLength
        - Stream_Seek
        - winpr_Data_Get_INT32
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:270,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:271,3'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/include/winpr/stream.h:271,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:273,19'
          Dst:             winpr_Data_Get_INT32
        - Src:             'winpr/include/winpr/stream.h:275,4'
          Dst:             Stream_Seek
    - functionName:    stream_read_u16_le
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          64
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingLength
        - Stream_Seek
        - winpr_Data_Get_UINT16
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:198,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:199,3'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/include/winpr/stream.h:199,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:201,20'
          Dst:             winpr_Data_Get_UINT16
        - Src:             'winpr/include/winpr/stream.h:203,4'
          Dst:             Stream_Seek
    - functionName:    stream_read_u8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          62
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_GetRemainingLength
        - Stream_Seek
        - winpr_Data_Get_UINT8
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:178,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:179,3'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/include/winpr/stream.h:179,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:181,19'
          Dst:             winpr_Data_Get_UINT8
        - Src:             'winpr/include/winpr/stream.h:183,4'
          Dst:             Stream_Seek
    - functionName:    winpr_image_read_buffer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 660
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          467
      EdgeCount:       107
      CyclomaticComplexity: 33
      functionsReached:
        - winpr_convert_from_jpeg
        - winpr_convert_from_png
        - winpr_convert_from_webp
        - winpr_image_bitmap_read_buffer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:616,12'
          Dst:             winpr_image_bitmap_read_buffer
        - Src:             'winpr/libwinpr/utils/image.c:622,22'
          Dst:             winpr_convert_from_webp
        - Src:             'winpr/libwinpr/utils/image.c:636,22'
          Dst:             winpr_convert_from_jpeg
        - Src:             'winpr/libwinpr/utils/image.c:649,22'
          Dst:             winpr_convert_from_png
    - functionName:    _ftelli64
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/wtypes.h'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ftello64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/wtypes.h:504,9'
          Dst:             ftello64
    - functionName:    winpr_image_read
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 572
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          93
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - WLog_Print_dbg_tag
        - _ftelli64
        - fclose
        - fread
        - fseek
        - winpr_fopen
        - winpr_image_read_buffer
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:575,13'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/utils/image.c:578,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:582,8'
          Dst:             fseek
        - Src:             'winpr/libwinpr/utils/image.c:583,14'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/utils/image.c:584,8'
          Dst:             fseek
        - Src:             'winpr/libwinpr/utils/image.c:591,15'
          Dst:             fread
        - Src:             'winpr/libwinpr/utils/image.c:594,14'
          Dst:             winpr_image_read_buffer
        - Src:             'winpr/libwinpr/utils/image.c:599,8'
          Dst:             fclose
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write_and_free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 415
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          59
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - fclose
        - fwrite
        - winpr_fopen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:403,14'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/utils/image.c:408,21'
          Dst:             fwrite
        - Src:             'winpr/libwinpr/utils/image.c:409,10'
          Dst:             fclose
    - functionName:    winpr_image_write_buffer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1364
      functionLinenumberEnd: 1408
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          214
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - winpr_bitmap_write_buffer
        - winpr_convert_to_jpeg
        - winpr_convert_to_png
        - winpr_convert_to_webp
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/image.c:1366,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:1365,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1372,17'
          Dst:             winpr_bitmap_write_buffer
        - Src:             'winpr/libwinpr/utils/image.c:1381,17'
          Dst:             winpr_convert_to_webp
        - Src:             'winpr/libwinpr/utils/image.c:1390,17'
          Dst:             winpr_convert_to_jpeg
        - Src:             'winpr/libwinpr/utils/image.c:1399,17'
          Dst:             winpr_convert_to_png
    - functionName:    winpr_bitmap_write_buffer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          219
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - Stream_Buffer
        - Stream_EnsureRemainingCapacity
        - Stream_Free
        - Stream_GetPosition
        - Stream_New
        - Stream_Write
        - Stream_Zero
        - winpr_bitmap_construct_header
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:300,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:310,15'
          Dst:             Stream_New
        - Src:             'winpr/libwinpr/utils/image.c:315,21'
          Dst:             winpr_bitmap_construct_header
        - Src:             'winpr/libwinpr/utils/image.c:318,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/image.c:320,2'
          Dst:             Stream_Write
        - Src:             'winpr/libwinpr/utils/image.c:322,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/image.c:329,3'
          Dst:             Stream_Write
        - Src:             'winpr/libwinpr/utils/image.c:330,3'
          Dst:             Stream_Zero
        - Src:             'winpr/libwinpr/utils/image.c:333,11'
          Dst:             Stream_Buffer
        - Src:             'winpr/libwinpr/utils/image.c:335,22'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/image.c:341,2'
          Dst:             Stream_Free
    - functionName:    winpr_bitmap_construct_header
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          263
      EdgeCount:       45
      CyclomaticComplexity: 12
      functionsReached:
        - Stream_Buffer
        - Stream_EnsureRemainingCapacity
        - Stream_Free
        - Stream_New
        - Stream_Zero
        - writeBitmapFileHeader
        - writeBitmapInfoHeader
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/utils/image.c:256,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:233,15'
          Dst:             Stream_New
        - Src:             'winpr/libwinpr/utils/image.c:274,7'
          Dst:             writeBitmapFileHeader
        - Src:             'winpr/libwinpr/utils/image.c:277,7'
          Dst:             writeBitmapInfoHeader
        - Src:             'winpr/libwinpr/utils/image.c:280,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/image.c:283,2'
          Dst:             Stream_Zero
        - Src:             'winpr/libwinpr/utils/image.c:284,11'
          Dst:             Stream_Buffer
        - Src:             'winpr/libwinpr/utils/image.c:286,2'
          Dst:             Stream_Free
    - functionName:    Stream_Zero
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1241
      functionLinenumberEnd: 1243
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Fill
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1242,3'
          Dst:             Stream_Fill
    - functionName:    Stream_Buffer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1264
      functionLinenumberEnd: 1266
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1265,3'
          Dst:             winpr_int_assert
    - functionName:    writeBitmapFileHeader
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         90
      ICount:          268
      EdgeCount:       91
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:66,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/image.c:69,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:69,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:69,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:70,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:70,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:70,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:71,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:71,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:71,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:72,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:72,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:72,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:73,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:73,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:73,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:74,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:74,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:74,2'
          Dst:             Stream_Write_UINT32_unchecked
    - functionName:    writeBitmapInfoHeader
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         160
      ICount:          443
      EdgeCount:       161
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write_INT32_unchecked
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:114,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/image.c:117,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:117,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:117,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:118,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:118,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:118,2'
          Dst:             Stream_Write_INT32_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:119,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:119,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:119,2'
          Dst:             Stream_Write_INT32_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:120,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:120,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:120,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:121,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:121,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:121,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:122,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:122,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:122,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:123,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:123,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:123,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:124,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:124,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:124,2'
          Dst:             Stream_Write_INT32_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:125,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:125,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:125,2'
          Dst:             Stream_Write_INT32_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:126,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:126,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:126,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'winpr/libwinpr/utils/image.c:127,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:127,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:127,2'
          Dst:             Stream_Write_UINT32_unchecked
    - functionName:    Stream_Write_UINT32_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1087
      functionLinenumberEnd: 1094
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT32
        - winpr_int_assert
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1088,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1089,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1090,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1090,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1092,3'
          Dst:             winpr_Data_Write_UINT32
    - functionName:    Stream_Write_INT32_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1033
      functionLinenumberEnd: 1040
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_INT32
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1034,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1035,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1036,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:1036,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1038,3'
          Dst:             winpr_Data_Write_INT32
    - functionName:    Stream_Write_UINT16_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 925
      functionLinenumberEnd: 932
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT16
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:926,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:927,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:928,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:928,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:930,3'
          Dst:             winpr_Data_Write_UINT16
    - functionName:    Stream_Write_UINT8_unchecked
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 873
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_GetRemainingCapacity
        - winpr_Data_Write_UINT8
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:874,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:875,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:876,3'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/include/winpr/stream.h:876,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:878,3'
          Dst:             winpr_Data_Write_UINT8
    - functionName:    winpr_image_write_ex
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 425
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          55
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_image_write_buffer
        - winpr_int_assert
        - write_and_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:426,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:429,15'
          Dst:             winpr_image_write_buffer
        - Src:             'winpr/libwinpr/utils/image.c:432,9'
          Dst:             write_and_free
    - functionName:    winpr_image_write
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 419
      functionLinenumberEnd: 421
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          102
      EdgeCount:       33
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_image_write_ex
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:420,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:421,37'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:421,37'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:421,9'
          Dst:             winpr_image_write_ex
    - functionName:    winpr_bitmap_write_ex
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          156
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - WLog_Print_dbg_tag
        - fclose
        - fwrite
        - winpr_bitmap_write_buffer
        - winpr_fopen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:371,14'
          Dst:             winpr_bitmap_write_buffer
        - Src:             'winpr/libwinpr/utils/image.c:377,8'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/utils/image.c:380,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:384,7'
          Dst:             fwrite
        - Src:             'winpr/libwinpr/utils/image.c:391,9'
          Dst:             fclose
    - functionName:    winpr_bitmap_write
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_bitmap_write_ex
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:349,9'
          Dst:             winpr_bitmap_write_ex
...
